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