2012-06-01 35 views
0

我刚刚实现了角点检测使用OpenCV,我得到的角落值为零。我使用3488 * 2616分辨率的相机images.it是否有任何适当的方法来找到高角点检测我不知道我犯了什么错误。在这里,我附上了我的代码和图片。请帮助我。我的英语非常新,对于opencv.sorry。Opencv角点检测高分辨率图像

int board_w = 6; 
int board_h = 6; 
const int MAX_CORNERS = 500; 

int main() 
{ 

    int board_n = (board_w-1) * (board_h-1); 
    CvSize board_sz = cvSize(board_w-1, board_h-1); 


    CvPoint2D32f* corners = new CvPoint2D32f[board_n]; 
    int cornerCount = 0; 

    IplImage *image = cvLoadImage("myimage.jpg"); 
    IplImage *gray_image = cvCreateImage(cvGetSize(image),8,1); 
    cvCvtColor(image, gray_image, CV_BGR2GRAY); 
const int N = cvFindChessboardCorners(gray_image,board_sz,&corners[0],&cornerCount,10); 


    cvFindCornerSubPix(gray_image,&corners[0],cornerCount,cvSize(3,3),cvSize(-1,-1),cvTermCriteria(CV_TERMCRIT_EPS,0,.01)); 

    printf("\ the count was:%d \n",cornerCount); 
    for (int i = 0; i < cornerCount; i++) 
    { 
cvCircle (image, cvPointFrom32f (corners[i]), 3, CV_RGB (0, 0, 255), 2); 

    } 

     cvNamedWindow("firstframe");    
     cvShowImage("firstframe",image); 
     cvWaitKey(0); 
    cvReleaseImage(&image); 
    cvReleaseImage(&gray_image); 



} 

的代码将正常棋盘images.but工作,同时利用该决议它会不会提前works.please帮助me.thanks实时摄像机图像。 enter image description here

+0

雅...当然...对不起,那一个...我会纠正它.. – aranga

回答

0

如果您怀疑检测就是失败只是因为你使用的是高清晰度的图像,你可以随时cvResize()IplImage to a smaller size并验证您的观察。

+0

感谢您的回复...当我调整图像的大小我得到的角落,但我需要使用该角落校准点...是否会影响我的校准结果? – aranga