昨天无意中浏览看到角点的概念,并加上想要切换到OpenCV的平台上,因此网上搜了一下,测试了一下面的角点测试代码;
int main(int argc, char *argv[])
{
CvPoint2D32f pt[200];
int cornerCount = 30;
IplImage *src = cvLoadImage("harris.png");
IplImage *grayImage = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
IplImage *eigimg = cvCreateImage(cvGetSize(src), IPL_DEPTH_32F, 1);
IplImage *tmpimg = cvCloneImage(eigimg);
cvCvtColor(src, grayImage, CV_BGR2GRAY);
cvGoodFeaturesToTrack(grayImage, eigimg, tmpimg, pt, &cornerCount, 0.1, 10, NULL, 3, 0, 0.04);
for (int i=0; i<cornerCount; ++i)
{
cvDrawCross(src, pt[i]); // 这个是自己写的一个辅助函数
}
cvNamedWindow("corner detection", CV_WINDOW_AUTOSIZE);
cvShowImage("corner detection", src);
cvWaitKey(0);
return 0;
}测试前后对比图像如下:

