0

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

説明してください、私の問題はどこにありますか?

4

1 に答える 1

0

maxMatchContourImage が maxMatchContourImage と同じタイプおよびサイズであるかどうかを確認します。キャニー エッジ検出を機能させるには、どちらも単一チャネルの画像である必要があります。

この条件が満たされている場合、cvCornerHarris が機能するはずです。

于 2013-05-28T05:32:34.493 に答える