cornerHarris函数中的错误参数

时间:2013-05-27 20:11:37

标签: c++ opencv

我试图通过Harris Detector在我的图像中找到角落,但是当我运行此代码时遇到问题:

int blockSize = 2;
int apertureSize = 3;
double k = 0.04;

IplImage* binMaxMatchContourImage = cvCreateImage( cvGetSize(maxMatchContourImage), 8, 1);
IplImage* afterHarrisImage = cvCreateImage( cvGetSize(maxMatchContourImage), 8, 1);

cvCanny(maxMatchContourImage, binMaxMatchContourImage, 50, 200);
cvCornerHarris( binMaxMatchContourImage, afterHarrisImage, blockSize, apertureSize, k);

但我的节目失败了:

OpenCV Error: Bad argument (Unknown array type) in unknown function, file ..\..\..\src\opencv\modules\core\src\matrix.cpp, line 698

请解释一下,我的问题在哪里?

1 个答案:

答案 0 :(得分:0)

检查maxMatchContourImage的类型和大小是否与maxMatchContourImage相同。两者都应该是用于Canny边缘检测的单通道图像。

如果满足此条件,cvCornerHarris应该可以正常工作。