특징점 추출
#include <opencv/cv.h>
#include <opencv/highgui.h>
const int MAX_CORNERS = 50;
int main(void) {
IplImage* src = cvLoadImage("C:/Users/Administrator/Desktop/pop.png", CV_LOAD_IMAGE_GRAYSCALE);
IplImage* showImg = cvLoadImage("C:/Users/Administrator/Desktop/pop.png", CV_WINDOW_AUTOSIZE);
IplImage* eig_image = cvCreateImage(cvGetSize(src), IPL_DEPTH_32F, 1);
IplImage* temp_image = cvCreateImage(cvGetSize(src), IPL_DEPTH_32F, 1);
CvPoint2D32f* corners = new CvPoint2D32f[MAX_CORNERS];
int corner_count = MAX_CORNERS;
cvNamedWindow("corners", CV_WINDOW_AUTOSIZE);
cvGoodFeaturesToTrack(src, eig_image, temp_image, corners, &corner_count,
0.05, 15.0, 0, 3, 0, 0.04);
for (int i = 0; i<corner_count; i++) {
printf("{%f, %f}\n", corners[i].x, corners[i].y);
cvCircle(showImg, cvPoint(corners[i].x, corners[i].y), 5, CV_RGB(255, 0, 0), -1, 8);
}
cvShowImage("corners", showImg);
cvWaitKey(0);
cvReleaseImage(&src);
cvDestroyWindow("corners");
}