介绍
这篇文章给大家分享的是有关OpenCV实现简易标定板的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
本文实例为大家分享了OpenCV实现简易标定板的具体代码,供大家参考,具体内容如下
使用OpenCV生成标定板图片,然后找高精度打印机进行打印,贴在硬板上,就可以得到一个简易的标定板。
废话不多说,代码如下:
//编程环境:VS2013, X64 OpenCV3.0.0 # include & lt; iostream> # include & lt; opencv2 \ \ core.hpp>核心; # include & lt; opencv2 \ opencv.hpp> , using namespace 性传播疾病; using namespace 简历; , int main () {, ,,,,,,,//单位转换 ,int dot_per_inch =, 96,,,//我的电脑是96 dpi (dot per 英寸) ,double cm_to_inch =, 0.3937;//1厘米=0.3937英寸 2.54,double inch_to_cm =,,,,,//1 inch =2.54厘米 1.0,double inch_per_dot =,,/, 96.0; , ,,,,,,,//自定义标定板 1.3,double blockSize_cm =,,,//方格尺寸:边长1.3厘米的正方形 ,,,,,,,int blockNum =, 8;,//8 * 8个方格 , , ,int blockSize =, (int) (blockSize_cm /inch_to_cm * dot_per_inch); ,cout & lt; & lt; blockSize & lt; & lt;, endl; , ,int imageSize =, blockSize *, blockNum; ,cout & lt; & lt; imageSize & lt; & lt;, endl; ,Mat 棋盘(图象尺寸,图象尺寸,还以为,CV_8UC3,标量::(0)); ,unsigned char color =, 0; , ,for (int 小姐:=,0;,小姐:& lt;,图象尺寸;,小姐:=,小姐:+,blockSize) { 时间=color 才能;~颜色; for 才能;(int j =, 0;, j & lt;,图象尺寸;,j =, j +, blockSize) { ,,Mat ROI =,棋盘(矩形(j,我还以为,blockSize, blockSize)); ,,ROI.setTo(标量:所有(颜色); ,,color =, ~颜色; ,,} ,} ,imshow (“Chess  board",,棋盘); ,,,,,,,imwrite (“C: \ \ \ \用户ComputerName \ \ \ \图片chessBoard.jpg",棋盘); ,cvWaitKey (3000); ,,,,,,,return 0; }
<>强声明:强>代码红色部分是标定板生成的主要代码,参考的是别人的,具体出处找不到了。单位换算是我后来添加的,方便大家根据镜头视场生成合理的标定板。
感谢各位的阅读!关于“OpenCV实现简易标定板的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!