2013-07-09 14 views
12

Voglio salvare un'immagine a un canale in virgola mobile e non voglio convertirla. Così ho deciso di utilizzare la classe filestorage per salvarlo, ma non sono riuscito a capire come farlo dalla documentazione. E quello che ho provato non ha funzionato. Qualcuno può aiutarmi con questo?opencv - come salvare l'immagine Mat nella raccolta file

// 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

risposta

30

scrittura su file

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

lettura dal file

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

molto chiaro! Grazie! ^^ –

+0

@ ManuelIgnacioLópezQuintero Ho bisogno di scrivere un flusso video composto da immagini CV_16UC1. Questo metodo può essere usato? –

+0

È possibile scrivere più oggetti Mat in un singolo file. – Nallath