matlab生成黑白棋盘格,用于相机标定

今天,我看见我一同学在用photoshop画棋盘格,用于相机标定的。然后我就不淡定了,决定给他写个程序完成这个工作。写了1个多小时,终于整完了。把代码放在这,希望能帮到别人。malab的代码,下面是主函数。

主函数:

function M = writeChessBoard( width, height, size, xnum, ynum, position, background)
% This function writes a chessboard on image.
% 该方程创建一个棋盘格图像。
%参数解释:
%   width: 宽度
%   height:高度
%   size:单个小方块的大小
%   xum:x方向上的个数(每4个小方块一组)
%   xum:x方向上的个数(每4个小方块一组)
%   position:起始位置的坐标(为了留出边,便于打印)
%   background:背景亮度, 0<=background<=1, 0表示纯黑,1表示纯白

    M=ones(width,height);
    M(:)=background;
    block=size*2;
    
    for i=1:xnum,
        for j=1:ynum,
            pos=[position(1)+block*(i-1), position(2)+block*(j-1)];
            M=ChessBoard(M,size,pos);
        end
    end
      
end

生成的棋盘样图:

下载全部代码。

完工!



没有更多推荐了,返回首页