3

openCV を使用して iOS 用のアプリケーションを作成しようとしています。例のコード (squares.c など) を使用し、それを自分のインターフェイスに採用すると、すべてがうまくいきます。しかし、テスト用の関数をいくつか追加しようとすると、奇妙なエラーが発生しました。例えば:

const cv::Point* p = &squares[j][0];
int n = (int)squares[j].size();
cv::Mat image = [my_image CVMat];
polylines(image, &p, &n, 1, true, cv::Scalar(0,255,0), 8, CV_AA);   //Working good  
cvFloodFill(&c, cvPoint(10, 10), CV_RGB(255, 0, 0)); // Not working

エラー: OpenCV エラー: cvGetMat、ファイル /Users/Aziz/Documents/Projects/opencv_sources/trunk/modules/core/src/array.cpp、行 2482 の不良フラグ (パラメーターまたは構造体フィールド) (認識されないかサポートされていない配列型)

私が間違っていることは何ですか?

4

1 に答える 1

3

C++とCインターフェイスを混在させています。

動作している部分はC++で書かれています。そのために、すべてのヘッダーが含まれています。ただし、cvFloodFillなどのcvで始まる関数は、Cインターフェイスまたはレガシーモジュールからのものであり、おそらくそれらを含めていません。

私のアドバイスは、コードをC++で保持することです。だから、書く

cv::floodFill( c, cv::Point(10,10), cv::Scalar(255,0,0) );

そして、変数名cがC++のものであることを確認してください

于 2012-07-21T13:50:43.840 に答える