簡體   English   中英

在OpenCV中將矢量轉換為mat

[英]convert vector to mat in OpenCV

我使用opencv 2.4.3使用以下代碼執行向量到矩陣轉換:

struct Component
{
    cv::Rect box;
    double area;
    double circularity; 
}

int main ( ... )
{
     cv::vector < Component > components;         
     cv::Mat componentMat ( components, true );
     std::cout << componentMat;
     return 0; 
}

但它發出錯誤,說:

OpenCV Error: Unsupported format or combination of formats() in unknown function, file ...\opencv\modules\core\src\out.cpp, line 111

我在這做錯了什么? 有沒有其他方法將此向量轉換為矩陣形式? 謝謝。

文檔中有一個對Mat構造函數的引用,在該構造函數中,它們表示支持哪種類型的向量:

“構造函數可以處理任意類型,其中有正確聲明的DataType,即向量元素必須是原始數字或單數字數字元組 。當然, 不支持混合類型結構 。”

因此,不支持您使用的類型 ,因此您會收到錯誤。

您正在嘗試創建“組件”類型的Matrix。 它不會起作用。 Mat僅支持特定的數據類型,如Point2d,Point3d等。如果您嘗試使用它們,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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