2016-07-20 12 views
0

Wie kann ich Vektor < Point2d> zu Mat konvertieren.Konvertieren von Punkt2d zu Mat

 Mat newImg = Mat(ImagePoints); 
    imwrite("E:/softwares/1.8.0.71/bin/newImg.png", newImg); 

Dies funktioniert nicht, da imWrite() nur von Kanal 1 oder 3 oder 4 und die Bildpunkte sind 2-Kanal akzeptieren.

I OpenCV Version 3.

+1

also was erwartest du und/oder warum willst du schreiben? – Micka

+0

Ich möchte das Bild auf der Festplatte speichern. Gibt es einen anderen Weg, dies zu tun? – MThomas

+0

Werfen Sie einen Blick auf cv :: FileStorage – Micka

Antwort

0

Hier ist die Antwort bin mit:

Sorgen Sie sich nicht über die Art Casting. Ganzzahlen im Doppel verwenden. Aber das ist nur, um den Kern der Lösung zu geben.

std::vector< cv::Point2d> points; 

for(int i =0; i < 10; i++) 
{ 
    points.push_back(cv::Point2d(i,i)); 
} 

cv::Mat_<cv::Point2d> matrix(points); 

std::cout<<matrix.at<cv::Point2d>(1); 

Aber wenn Sie diese Matte speichern möchten, verwenden Sie XML. Imwrite wird nicht die Matte schreiben.