Matlab生成棋盘格点图

转载 2016年06月01日 15:33:42

转自zhouyelihua**http://blog.csdn.net/zhouyelihua/article/details/46674191**

在摄像机标定过程中常常需要打印棋盘格程序,还有就是在投影仪标定当中常常需要投射和投影仪相同分辨率的

<code class="language--matlab hljs matlab has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">close all;
clear all;
clc;
width=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1024</span>  ;      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern的宽</span>
height=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">768</span>     ;          <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern的高</span>
img_final=<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">zeros</span>(height,width);
reinforceconner=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>       ;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%是否加强角点 </span>
row=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>;                 <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern中棋盘格的行数</span>
col=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">13</span> ;              <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern中棋盘格的列数</span>
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">45</span>;           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern中棋盘格的大小</span>
org_X=(height-row*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>)/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>;        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern关于纵轴方向的位置,默认放在中间</span>
org_Y=(width-col*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>)/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>;             <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%pattern关于横轴方向的位置,默认放在中间</span>
  color1=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;
     color2=color1;
img=<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">zeros</span>(row*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>,col*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>);
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">i</span>=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>:(row-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)
    color2=color1;
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">j</span>=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>:(col-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> color2==<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>
        img(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">i</span>*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>:(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">i</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>,<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">j</span>*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>:(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">j</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)=color2;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%不加的话,可以注释掉</span>
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">%</span>
        color2=~color2;
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>
    color1=~color1;
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>
img_final(org_X:org_X+row*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>,org_Y:org_Y+col*<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)=img;
   img_final=~img_final;
     figure;imshow(img_final);   
     imwrite(img_final, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'cheesBoard.bmp'</span>,<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'bmp'</span>);</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"></ul>

matlab画棋盘格程序

意义在摄像机标定过程中常常需要打印棋盘格程序,还有就是在投影仪标定当中常常需要投射和投影仪相同分辨率的patternmatlab源代码close all; clear all; clc; width=...
  • zhouyelihua
  • zhouyelihua
  • 2015年06月28日 21:17
  • 6181

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

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

用matlab生成黑白棋盘格作相机标定模板

function M = writeChessBoard( width, height, size, xnum, ynum, position, background)   % This funct...
  • lwq1026
  • lwq1026
  • 2016年11月29日 10:35
  • 1982

用Matlab编写的棋盘格图像生成程序 Chessboard pattern generation program in matlab

clc; clear all; close all; GridSize = 70;  %length of the square m =9;      %number of row ...
  • guochunlei1234
  • guochunlei1234
  • 2014年04月18日 10:40
  • 1912

Matlab之checkerboard-创建棋盘图像

1、checkerboard函数:创建棋盘图像 2、用法说明 (1)I = checkerboard 创建一个8X8个单元的棋盘图像,每个单元由正方形框组成,且每个单元的边长为10个像素。棋盘图像...
  • you23hai45
  • you23hai45
  • 2014年01月05日 21:18
  • 1519

MATLAB生成棋盘格

  • 2014年09月14日 21:17
  • 895B
  • 下载

用matlab生成棋盘格

  • 2013年10月23日 19:06
  • 1KB
  • 下载

相机标定棋盘格图片下载(可直接打印使用)

  • 2016年11月23日 14:30
  • 25KB
  • 下载

Matlab中checkerboard-创建棋盘图像(二)

1、设计说明 (1)I = checkerboard 创建一个8X8个单元的棋盘图像,每个单元由正方形边框组成,且每个单元的边长为10像素。棋盘图像分为亮部分和暗部分,棋盘暗部部分为黑色,棋盘左半边亮...
  • you23hai45
  • you23hai45
  • 2013年10月11日 22:27
  • 2558

Matlab中checkerboard-创建棋盘图像(一)

1、设计说明 (1)I = checkerboard 创建一个8X8个单元的棋盘图像,每个单元由正方形边框组成,且每个单元的边长为10像素。棋盘图像分为亮部分和暗部分,棋盘暗部部分为黑色,棋盘左半边亮...
  • you23hai45
  • you23hai45
  • 2013年10月11日 22:12
  • 1968
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Matlab生成棋盘格点图
举报原因:
原因补充:

(最多只允许输入30个字)