使用的函数是cvFindChessboardCorners和cvDrawChessboardCorners
要注意的是标准棋盘的的cvsize是7*7,要注意
不需要使用额外的for循环来圈定角点,cvDrawChessboardCorners全部搞定。
函数的参数按照VS的提示写好就可以啦~都比较直观。
源代码:
// calibrationtest.cpp : 定义控制台应用程序的入口点。
// 棋盘角点的获取和绘制
// 2016.9.15 Alex
//
#include "stdafx.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
int _tmain(int argc, _TCHAR* argv[])
{
IplImage * src1 = cvLoadImage("D:\\PERSONAL\\Picture\\10.jpg",CV_LOAD_IMAGE_GRAYSCALE);
IplImage * src = cvLoadImage("D:\\PERSONAL\\Picture\\10.jpg",CV_LOAD_IMAGE_COLOR);
cvNamedWindow("Original");
cvShowImage("Original",src);
CvSize pattern_size = cvSize(7,7);//标准棋盘就是7*7,周围的角点不算,具体看结果图就知道什么意思啦
CvPoint2D32f corners[50] = {NULL};
int count(0);
//输入图像必须是灰度,单通道,8/32位
int k = cvFindChessboardCorners(src1,pa