2011-11-22 10 views
7

に変換するfitLine()OpenCV 2.1から使用しようとしましたが、vector<Point>をMatに変換する必要があります。これどうやってするの?ベクトルを<Point>からMat

vector<Point> line_points; 
Vec4f line; 
fitLine(line_points, line, CV_DIST_L2, 0.0, 0.01, 0.01); 

答えて

10

それは実際には非常に簡単です - Matは、点のベクトルとMat間の変換のためのコンストラクタを提供します。これはin the documentationに記載されて

fitLine(Mat(line_points), line, CV_DIST_L2, 0.0, 0.01, 0.01); 

:必要なのはこれです。

+0

Mat mat = Mat(line_points);意味の問題: 'Vector 'から 'cv :: Mat'への機能型キャストは許可されていません – Ben

+0

奇妙なことに、それは私のコードで動作します... 'std :: vector 'を使用していることを確認してください自分自身の 'Vector'実装。 –

+0

それは問題でした...ありがとう! – Ben

関連する問題