OpenCV生成标定图

Posted ljbguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV生成标定图相关的知识,希望对你有一定的参考价值。

本文由 @lonelyrains 出品。转载请注明出处。 
文章链接: http://blog.csdn.net/lonelyrains/article/details/46874723



    网上查了一下工业视觉标定板。少则几百大洋。多则几千大洋。就想在A4纸上山寨打印一个标定图。就是黑白方格相间的那种。A4纸的标准大小为210*297mm。

搞了个把小时,事实上想明确了之后非常easy。从每一个像素的角度考虑,考虑其终于落入哪个小方块,假设落入小方块的行列之和为奇数。则设置为白色。能够作为简单的上机面试题呀。首先准备一张跟A4纸比例同样的纯黑图片,3A4.bmp。能够用电脑自带的绘图生成。然后该设置为白的地方设置为白即可了。代码例如以下


#include <opencv\cv.h>
#include <opencv\highgui.h>

#include <iostream>

using namespace cv;
using namespace std;

int main()
{
	Mat frame = imread("3A4.bmp"); // cols*rows = 630*891

	int nc = frame.channels();
	
	int nWidthOfROI = 90;

	for (int j=0;j<frame.rows;j++)
	{
		uchar* data= frame.ptr<uchar>(j);
		for(int i=0;i<frame.cols*nc;i+=nc)
		{			
			if( (i/nc/nWidthOfROI + j/nWidthOfROI) % 2)
			{
				// bgr
				data[i/nc*nc + 0] = 255 ;
				data[i/nc*nc + 1] = 255 ;
				data[i/nc*nc + 2] = 255 ;				
			}
		}
	}

	imshow("test",frame);
	waitKey(0);

	return 0;
}


生成的图形例如以下

技术分享








以上是关于OpenCV生成标定图的主要内容,如果未能解决你的问题,请参考以下文章

张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析(附标定程序和棋盘图)

Python之OpenCV相机标定方法

opencv相机标定

关于opencv标定的一些疑问,首先声明这篇文章转载于纸异兽,由于暂时联系不到他本人,只好请教各位了。有些问题想请教,各位大神可以留下联系方式帮我解决,万分感谢

MatLab和OpenCV共同实现单目相机标定实验--附标定图片

原创工具 | OpenCV-CamCalib一个基于 OpenCV 的自动化相机数据采集和标定程序