OpenCV: Ошибка при использовании функции cvGoodFeaturesToTrack

Когда я вызываю функцию cvGoodFeaturesToTrack для поиска углов Харриса, я получаю следующую ошибку:

OpenCV Error: Assertion failed (src.type() == CV_8UC1 || src.type() == CV_32FC1) in cornerEigenValsVecs, file /build/buildd/opencv-2.1.0/src/cv/cvcorner.cpp,line 254 
terminate called after throwing an instance of 'cv::Exception'
  what():  /build/buildd/opencv-2.1.0/src/cv/cvcorner.cpp:254: error: (-215) src.type() == CV_8UC1 || src.type() == CV_32FC1 in function cornerEigenValsVecs

Aborted

Она компилируется правильно, но когда я пытаюсь ее запустить, выдает эту ошибку.

Вот код:

IplImage* eig_image = 0;
IplImage* temp_image = 0;

IplImage *img1 = 0;

img1 = cvLoadImage("im1.pgm");
if(img1==0) {
    printf("oh no!");
}

eig_image = cvCreateImage(cvGetSize(img1),IPL_DEPTH_32F, 1);

temp_image = cvCreateImage(cvGetSize(img1),IPL_DEPTH_32F, 1);


const int MAX_CORNERS = 100;
CvPoint2D32f corners[MAX_CORNERS] = {0};
int corner_count = MAX_CORNERS;
double quality_level = 0.1;
double min_distance = 1;
int eig_block_size = 3;
int use_harris = true;
double k  = .4;

cvGoodFeaturesToTrack(img1, eig_image, temp_image,corners,&corner_count,quality_level,min_distance,NULL,eig_block_size,use_harris,k);

Почему это происходит и как это исправить? Я ценю любую помощь!

6
задан Choobs 6 October 2011 в 21:42
поделиться