1. 程式人生 > >matlab生成黑白棋盤格,用於相機標定

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

生成的棋盤樣圖:

完工!