2013-07-09 24 views
12

我想保存一个浮点单通道图像,我不想将其转换。所以我决定使用filestorage类来保存它,但我无法完全从文档中获取它。我试过的东西没有用。任何人都可以帮助我吗?opencv - 如何将mat图保存在filestorage中

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

回答

30

写入文件

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

从文件

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

很清楚的阅读!谢谢! ^^ –

+0

@ManuelIgnacioLópezQuintero我需要写一个由CV_16UC1图像组成的视频流。可以使用这种方法吗? –

+0

您可以将多个Mat对象写入单个文件。 – Nallath