2016-03-29 2 views
-1

LinuxでOpenCV-0.9.5に基づく古いコードをコンパイルしようとしていますが、それが正常に構築されたが、実行している間、私は、CVエラーを得た:IplImageでcvMinMaxLocを使用する際のエラー

「OpenCVのエラー:アサーションが失敗した(CV_IS_IMAGE(ARR)& &(COI = cvGetImageCOI((定数IplImageへ*)ARR)-1)> = 0)で不明な関数、ファイル........ \ ocv \ opencv \ src \ cxcore \ cxmatrix.cpp "

私はOpenCVが良くなく、このコードが実際に何を理解していません。プロジェクトは、コードの多くを持っていると私はここでそれらのすべてを書くことはできませんが、私はこのような別のプロジェクトでは、単にエラーを起こしやすいコードを書き、テストhttps://github.com/thirtysixthspan/cvEyeTracker

私だけでプロジェクトをコンパイルし、実行したいです
IplImage *eye_image; 

char *in_file = "E:\\eye.png"; 

eye_image = cvLoadImage(in_file, 1); 

double min_value, max_value; 

CvPoint min_loc, max_loc; 

cvMinMaxLoc(eye_image, &min_value, &max_value, &min_loc, &max_loc); 

cvMinMaxLocを呼び出すときにも同じエラーが発生します。何が問題ですか?これをどうすれば解決できますか?

注:OpenCV 2.4.1およびVisual Studio 2013 with C++を使用しています。

+0

廃止されたAPIを使用しないでください! – Miki

+0

ありがとうございます。 OpenCV 2.4.1を使ってすべてのコードをC++に変換しようとしましたが、成功できませんでした。 – cakirhal

+0

新しいopencvのバージョンを入手する; D latestは3.1 – Miki

答えて

0

は、最後に私はそれは場所の入力引数たことが問題を発見した:

Mat eye_image; 

eye_image = imread("E:\\eye.png"); 

double min_value, max_value; 

//CvPoint min_loc, max_loc; 

minMaxLoc(eye_image, &min_value, &max_value);//, &min_loc, &max_loc); 

出力は最大= 255、分= 0、なぜこれらのmin_locであり、この問題を引き起こすmax_loc?

0

@Miki私はOpenCVの3.1に移行するが、問題は、これらの行を変換することである。

CvSeq* contour=NULL; 

CvMemStorage* storage = cvCreateMemStorage(0); 

cvFindContours(threshold_image, storage, &contour, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_NONE); 

OpenCVの3.1引数の異なるタイプのfindContours方法が挙げられる。また

http://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours

をコードは輪郭変数を次のように使用し続けます。

contour->合計

CvSeqとCvMemStorageの正しい同等性は何ですか?

0

私はこれらとのコードを置き換える:

vector<Point> contour; 

vector<vector<Point>> storage; 

findContours(threshold_image, storage, contour, CV_RETR_LIST, CV_CHAIN_APPROX_NONE, Point(0, 0)); 

すべてのコードは、OpenCVの3.1に変換されていましたし、プロジェクトが正常にビルドされましたが、私は疑問で宣言されているような問題は保持されます。ここにすべてのコードを書くのは妥当ではないので、デバッグしたいVisual Studio 2013プロジェクト全体を送ることができます。

おかげ

関連する問題