Matlab生成棋盘格点图

转自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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软开源微服务运行时Dapr,赋能云原生应用开发

Dapr 是一个可移植的、由事件驱动的 Serverless 运行时&#xff0c;用于跨云和边缘构建分布式应用程序。10月9日&#xff0c;正式以 MIT 协议开源。Dapr 使开发人员能够轻松地构建弹性、无状态和有状态的微服务&#xff0c;让它们在云和边缘位置上运行&#xff0c;并包含了开发…

缺失的第一个正数

题目描述 给定一个未排序的整数数组&#xff0c;找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3示例 2: 输入: [3,4,-1,1] 输出: 2示例 3: 输入: [7,8,9,11,12] 输出: 1说明: 你的算法的时间复杂度应为O(n)&#xff0c;并且只能使用常数级别的空间。 …

最大堆和最小堆

堆和栈的区别&#xff1a;一、堆栈空间分配区别&#xff1a;1、栈&#xff08;操作系统&#xff09;&#xff1a;由操作系统自动分配释放 &#xff0c;存放函数的参数值&#xff0c;局部变量的值等。其操作方式类似于数据结构中的栈&#xff1b;2、堆&#xff08;操作系统&…

认知的高度 = 人生的高度

大家好&#xff0c;我是Z哥。我们每个人&#xff0c;每天要和很多不同的人打交道。我相信下面的场景每个程序员都有遇到过&#xff0c;业务方在某个模块下新提出了一个功能&#xff0c;但是你希望做新功能之前先把这个模块的低质量代码重构一下。但是&#xff0c;不管你怎么摆事…

快乐数

题目描述 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为&#xff1a;对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和&#xff0c;然后重复这个过程直到这个数变为 1&#xff0c;也可能是无限循环但始终变不到 1。如果可以变为…

Pthread

转自&#xff1a;http://blog.chinaunix.net/uid-21084809-id-2215376.html Outline - 1.线程特点 - 2.pthread创建 - 3.pthread终止 - 4.mutex互斥量使用框架 - 5.cond条件变量 - 6.综合实例 1. 线程特点 线程拥有自己独立的栈、调度优先级和策略、信号屏蔽字&#xff08;…

移除链表元素

题目描述 删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val 6 输出: 1->2->3->4->5解法 使用哑结点&#xff0c;只需要变更next指针即可。 /*** Definition for singly-linked list.* public class ListNode …

VSCode开发.NETCore项目入门(1)设置中文语言环境

安装VSCode最新地址&#xff1a;https://code.visualstudio.com/&#xff0c;下载后安装即可配置语言环境打开安装好的VSCode软件&#xff0c;可以看到刚刚安装的VSCode软件默认使用的是英文语言环境&#xff0c;如下图&#xff1a;使用快捷键【CtrlShiftP】来配置&#xff0c;…

char *c = abc和char c[]=abc

转自&#xff1a;http://blog.csdn.net/wallwind/article/details/7210474 char *c "abc"和char c[]"abc",前者改变其内 容程序是会崩溃的&#xff0c;而后者完全正确。 程序演示&#xff1a; 测试环境Devc 代码 运行结果 2293628 4199056 abc 2293624 22…

同构字符串

题目描述 给定两个字符串 s 和 t&#xff0c;判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t &#xff0c;那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换&#xff0c;同时保留字符的顺序。两个字符不能映射到同一个字符上&#xff0c;但字符可…

微软100题第11题

参照&#xff1a;http://blog.csdn.net/caryaliu/article/details/8107089 参照&#xff1a;http://blog.csdn.net/lalor/article/details/7626678 把二叉树看成一个图&#xff0c;父子节点之间的连线看成是双向的&#xff0c;我们姑且定义"距离"为两个节点之间的个…

.NET Core 3.0】框架之十三 || 部署攻略

本文有配套视频&#xff1a;https://www.bilibili.com/video/av58096866/?p9一、部署1、WIN_独立部署感谢群里&#xff08;白云&#xff09;小伙伴&#xff0c;博主 小淋科技 提出的方案(需要 netcore2.1 )&#xff0c;我竟然忽略了&#xff0c;该打该打&#xff0c;官档都读…

Python import以及os模块

转自&#xff1a;http://jianpx.iteye.com/blog/486466 http://blog.chinaunix.net/uid-27838438-id-4087978.html Import: 1. import 实际上是python虚拟机把当前的globals()和locals()传进__builtins__.__import__内置函数了&#xff0c;所以实际上干活的是那个__import__函…

移除元素

题目描述 给定一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数…

.Net Core3.0 配置Configuration

准备.NET core和.NET项目配置上有了很大的改变&#xff0c;支持的也更加丰富了比如命令行&#xff0c;环境变量&#xff0c;内存中.NET对象&#xff0c;设置文件等等。.NET项目我们常常把配置信息放到webConfig 或者appConfig中。配置相关的源码https://github.com/aspnet/Exte…

Python os.makedirs try 以及 raise

转自&#xff1a;http://bookshadow.com/weblog/2014/10/02/python-mkdir-p/ http://blog.csdn.net/mr_jj_lian/article/details/6786052 mkdir为Linux操作系统中的创建目录命令&#xff0c;使用mkdir -p指令可以自动创建目标目录路径中尚不存在的上级目录&#xff08;Window…

asp.net core 3.0 中使用 swagger

asp.net core 3.0 中使用 swaggerIntro上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用&#xff0c;那个项目的 api 比较简单&#xff0c;都是匿名接口不涉及到认证以及 api 版本控制&#xff0c;最近把另外一个 api 项目升级到了 3.0&#xff0c;还是遇到了一些…

由微软100题“求和不用for while”引出的static类成员的知识

转自&#xff1a;http://www.cnblogs.com/gysm/archive/2011/09/16/2179277.html C类中谈到static,我们可以在类中定义static成员&#xff0c;static成员函数&#xff01;Cprimer里面讲过&#xff1a;static成员它不像普通的数据成员&#xff0c;static数据成员独立于该类的任意…

MCN是啥?了解一下这5个互联网热词

骗子刷量&#xff0c;黑吃黑半斤八两前几天一件事火爆了互联网圈&#xff0c;一场搞笑的骗局&#xff0c;一场蜂群传媒导演的“僵尸舞台剧”&#xff1a;一条一夜爆红的视频 流量却为0&#xff01;。一个电商商家卖产品有投放需求&#xff0c;找到了微博上一家 MCN 机构的一个女…

Matlab出现On Startup: Error using eval undefined function 'workspacefunc' for input arguments of type

按照提示 Warning: MATLAB did not appear to successfully set the search path. To recover for this session of MATLAB, type "restoredefaultpath;matlabrc". To find out how to avoid this warning the next time you start MATLAB, type "docsearch pr…