/*********************************************************************************************
程序功能:
利用OpenCv和C++实现灰度图像直方图的绘制---自己编写的灰度直方图计算函数
有关利用OpenCv程序生成棋盘格表顶板的一些其他问题解释:
1---我们利用程序生成棋盘格标定盘的目的是为了进行摄像机标定或者双目视觉,三位重建等
2---那么问题是------我们现在用程序生成的棋盘格,我们只能知道它以像素为单位的Size(width*height),
但是,有时候,我们要写一些视觉定位的工程或者在一些实际应用中,我们需要知道像素单位与米制单
位之间的相互转换关系,那么,我们应该怎么办/
3---解决方法很简单,把你用程序生成的棋盘格图片用PS打开,然后查看---【图像】----【图像大小】
编写环境:
OpenCv2.4.8+VS2010
地点时间:
陕西师范大学 2016.7.24
作者信息:
九月-------qq---934089770
**********************************************************************************************/
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
#include <cxcore.h>
void main()
{
IplImage *img = NULL;
int dx = 50; //棋盘格大小,像素为单位,也就是棋盘格角点之间的距离
int dy = 8; //棋盘格数目
int flag = 0;
img = cvCreateImage(cvSize(dx*dy, dx*dy), IPL_DEPTH_8U, 1);
cvZero(img);
for(int i=0;i<dy;i++)
{
for(int j=0;j<dy;j++)
{
flag = (i+j)%2;
if (flag == 0)
{
for (int m=i*dx; m<(i+1)*dx; m++)
for(int n=j*dx; n<(j+1)*dx; n++)
*(img->imageData+m*img->widthStep+n)=255;
}
}//for j
}//for i
cvSaveImage("标定图.bmp",img);
cvNamedWindow("ChessedBoard", 1);
cvShowImage("ChessedBoard",img);
cv::waitKey(0);
}
利用OpenCv程序生成棋盘格标定板,并且实现像素单位与米制单位的转换
最新推荐文章于 2024-07-17 00:00:00 发布