簡體   English   中英

OpenCV:Matrix.cpp中的未知數組類型錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM