2011-11-22 29 views
7

Tôi cố gắng sử dụng hàm fitLine() từ OpenCV 2.1, nhưng cần phải chuyển đổi vector<Point> thành Mat. Tôi có thể làm cái này như thế nào?Chuyển đổi Vector <Point> thành Mat

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

Trả lời

10

Nó thực sự rất đơn giản - Mat cung cấp một constructor chuyển đổi giữa vector của điểm và một Mat. Tất cả những gì bạn cần là:

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

Điều này được đề cập in the documentation.

+0

Mat mat = Mat (line_points); Vấn đề ngữ nghĩa: Lấy mẫu theo chức năng từ 'Vector ' đến 'cv :: Mat' không được phép – Ben

+0

Lạ, nó hoạt động trong mã của tôi ... Hãy chắc chắn rằng bạn đang sử dụng 'std :: vector ', không phải một số loại thực hiện 'Vector' của riêng bạn. –

+0

đó là vấn đề ... cảm ơn! – Ben

Các vấn đề liên quan