[英]OpenCV: Unknown Array Type error in Matrix.cpp
我正在使用EmguCV Matrix.Add方法將一個矩陣附加到另一個矩陣。
Emgu.CV.Matrix<float> descriptors = new Emgu.CV.Matrix<float>(0, dictionarySize);
Emgu.CV.Matrix<float> BOWDescriptor = imageDescriptorExtractor.Compute(trainingImage, keyPoints);
descriptors.Add(BOWDescriptor);
相應的OpenCV代碼如下所示:
Mat bowDescriptor(0, dictionarySize, CV_32FC1);
Mat bowDescriptor;
bowDE.compute(img, keypoints, bowDescriptor);
descriptors.push_back(bowDescriptor);
在編譯期間,我不會得到任何異常。 但是,在運行應用程序時,出現以下錯誤:
Emgu.CV.dll中發生了類型為'Emgu.CV.Util.CvException'的未處理異常其他信息:OpenCV:未知數組類型
這與CV_32FC1數據類型有關嗎? 我的OpenCV到EmguCV轉換正確嗎?
感謝您的幫助。
謝謝傑伊
CV_32FC1僅表示一個通道,32位浮點數組,並且由於您不能具有零通道,因此默認的Matrix構造函數應該可以。
您是否嘗試過在“添加”調用上設置斷點並檢查這兩個矩陣? 我不確定EmguCV何時會引發該異常,但是矩陣大小可能不匹配。
另外,我只是注意到您的“描述符”對象的構造函數有0行; 這是錯字嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.