检测棋盘格角点

来源:互联网 发布:期货行情软件下载 编辑:程序博客网 时间:2024/06/06 20:36
#include <cv.h>#include <highgui.h>#include <iostream>using namespace cv;void main(){    IplImage *src = cvLoadImage("棋盘格.bmp") ;    CvSize board_size = cvSize(9 , 9) ;    CvPoint2D32f * image_points = new CvPoint2D32f[9 * 9] ;    int count = 0 ;    int flag = cvFindChessboardCorners(src , board_size , image_points , &count , CV_CALIB_CB_ADAPTIVE_THRESH) ;    if (!flag)    {        std::cout<<"can not find chessboard  corners!\n" ;        return ;    }    IplImage *gray = cvCreateImage(cvGetSize(src) , src->depth , 1) ;    cvCvtColor(src , gray , CV_RGB2GRAY) ;    cvFindCornerSubPix(gray , image_points , count , cvSize(11 , 11) , cvSize(-1 , -1) , cvTermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 30, 0.1 )) ;    cvDrawChessboardCorners(src , board_size , image_points , count , 1) ;    cvShowImage("drawchess" , src) ;    cvWaitKey(0) ;}

选择的棋盘格图像这里写图片描述
运行程序 结果为:
这里写图片描述

0 0
原创粉丝点击