0

openCV で単純なテンプレート マッチを実行しようとしていますが、cvMatchTemplate を呼び出すコードの行で、セグメンテーション エラーが発生します。これが関連しているかどうかはわかりませんが、私は x11 を使用する Mac を使用しており、opencv 2.0.0 を使用しています。

関連するコードは次のとおりです。

IplImage* imgOriginal = cvLoadImage("reference.png", 0); IplImage* imgTemplate = cvLoadImage("template.png", 0);

IplImage* imgResult = cvCreateImage(cvSize(imgOriginal->width-imgTemplate->width+1, imgOriginal->height-imgTemplate->height+1), IPL_DEPTH_32F, 1); cvZero(imgResult);

cvMatchTemplate(imgOriginal, imgTemplate, imgResult, CV_TM_CCOEFF_NORMED); ...

オンラインで見つけた非常に優れたチュートリアルからこのコードをコピーしましたが、うまくいくように見えましたが、取得できないようです。また、cvMatchTemplate の最後のパラメーターは、一致を計算する方法によって異なる場合があります。私はそれらすべてを試しましたが、セグメンテーション違反の作成を呼び出します。

これを修正する方法について誰かアイデアがありますか? よろしくお願いします。

4

1 に答える 1

0

実際のバックトレースを確認しないと ( gdbで実行してみてください)、見分けるのは困難です。それを確認してimgOriginalimgTemplatenull ではありませんか?

于 2010-07-16T18:02:21.793 に答える