2013-07-09 10 views
12

Ich möchte ein Gleitkomma-Einkanalbild speichern und ich möchte es nicht konvertieren. Also habe ich mich entschieden, die filestorage-Klasse zu verwenden, um sie zu speichern, aber ich konnte nicht ganz aus der Dokumentation lernen, wie es geht. Und was ich versucht habe, hat nicht funktioniert. Kann mir jemand dabei helfen?opencv - wie man Mattenbild im Dateispeicher speichert

// Write: 
FileStorage fs("img.xml", FileStorage::WRITE); 
Mat img; 
fs << img; 

// Read: 
FileStorage fs("img.xml", FileStorage::READ); 
Mat img; 
fs >> img; 
+2

http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html – William

Antwort

30

Schreiben

cv::FileStorage storage("test.yml", cv::FileStorage::WRITE); 
storage << "img" << img; 
storage.release(); 

Lesen aus Datei

cv::FileStorage storage("test.yml", cv::FileStorage::READ); 
storage["img"] >> img; 
storage.release(); 
+0

klar Sehr Datei! Vielen Dank! ^^ –

+0

@ ManuelIgnacioLópezQuintero Ich muss einen Video-Stream schreiben, der aus CV_16UC1-Bildern besteht. Kann diese Methode verwendet werden? –

+0

Sie könnten mehrere Mat-Objekte in eine einzige Datei schreiben. – Nallath

Verwandte Themen