DLP4500棋盘格代码

clear, clc, close all
%构建1140*912的棋盘格
height = 1140;
width = 912;
img_chess = ones(height, width);
%棋盘格长为80,宽度为40
lengthX = 40;
lengthY = 2*lengthX;
%棋盘格有十行,13列
row = 10;
col = 13;
%%orgX,origY必须是偶数
%做余数
%floor(x),也写做Floor(x),其功能是“向下取整”
%height - row * lengthY,要不是偶数,要不是奇数
%将棋盘格居中
if mod(floor((height - row * lengthY) / 2),2)==0
    orgX=floor((height - row * lengthY) / 2)
else
    orgX=floor((height - row * lengthY) / 2)+1
end

if mod(floor((width - col * lengthX) / 2),2)==0
    orgY=floor((width - col * lengthX) / 2)
else
    orgY=floor((width - col * lengthX) / 2)+1
end
%产生1140*912的棋盘格图案
color1 = 1;
color2 = color1;
img_chess_only = zeros(row * lengthY, col * lengthX);
for i = 0: (row - 1)
    color2 = color1;
    for j = 0: (col - 1)
        if color2==1
            img_chess_only(i * lengthY + 1: (i + 1) * lengthY , j * lengthX + 1: (j + 1) * lengthX ) = 1;
        else
            img_chess_only(i * lengthY + 1: (i + 1) * lengthY , j * lengthX + 1: (j + 1) * lengthX ) = 0;
        end
        color2 = ~color2;
    end
    color1 = ~color1;
end
img_chess(orgX : orgX + row * lengthY-1 , orgY : orgY + col * lengthX -1) = img_chess_only;
imshow(img_chess)
imwrite(img_chess, 'chessBoard5Proj.bmp','bmp');
%
I1=zeros(height, width);
I1(:,395:473)=img_chess(:,395:473);
imshow(I1);
imwrite(I1,'test_corresponding5.bmp','bmp');
%%this code is for shanghai projector
ret = zeros(570, 1024);
img = zeros(570,1024);
% img = imresize(img_chess, [570, 912]);%%resize func has problems
for i=1:570
    for j=1:912
        if(img_chess(i*2,j)==1)
            img(i,j)=1;
        else
            img(i,j)=0;
        end
    end
end

imshow(img);
imwrite(img,'chess.bmp','bmp');


for i = 1: 570
    for j = 1: 1024
        if (j > 56 && j <= 968)
            ret(i, j) = img(i, j - 56);            
        else
            ret(i, j) = 1;
        end
    end
end
figure
imshow(ret)
imwrite(ret, 'chessBoard5calib.bmp','bmp');

DLP4500输入为1140*912,输出为570*912棋盘格

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值