2010-08-26 41 views
0

我在OpenCV上是一個新手,我只是用它完成了我的第一個大程序。其實,如果一個不好的例外沒有發生,我會是。這裏是: OpenCV錯誤:壞標誌(參數或結構字段)(無法識別或不支持 ed數組類型)在未知函數中,文件........ \ ocv \ opencv \ src \ cxcore \ cxarr ay.cpp,line 2476 這裏是發生異常的行: cvMatMul(0​​matIntrinsec,& matExtrinsec,& result); 它也可能是話題重要的是知道什麼是乘以這三個矩陣:(導致也許我只是做一些愚蠢的事與他們)OpenCV矩陣的一個例外功能

基本上是matIntrinsec和matExtrinsec,我讀出值一個文件,它是工作得很好,我已經測試過了。我將這些值放在一個二維數組中,然後使用CvMat函數來構建矩陣,然後使用CvMat函數創建矩陣。

cvInitMatHeader(& matExtrinsec,3,3,CV_64FC1,this-> extrinsecos);

至於「結果」參數,其基本上是一個未初始化變量與CvMat從乘法接收結果:

結果與CvMat;

我很抱歉,如果這個問題是愚蠢的。但請幫助我!

+0

粘貼一些源代碼。此外,你需要找到激活此錯誤在你的代碼行。也許你將奇怪的參數傳遞給一個OpenCV函數。 – karlphillip 2010-08-26 20:47:28

+0

嗯,只是想知道。應該不是外在的3x4? – zerm 2010-08-28 15:05:34

回答

0

當使用OpenCV中的C API,你必須手動初始化「目的地」函數的參數。既然你知道輸出的大小,你可以用cvCreateMat()輕鬆完成。或者,您可以切換到C++ API,其中函數使用cv::Mat::create()函數自動分配目標矩陣。