我需要在文件中指定一个矩阵,然后将其作为Mat
加载到OpenCV上以进行进一步处理。如何指定cols和lines以及元素在 .xml 或 .yml 文件中的位置?(例如,元素A(i,j)
for i from 1 m行和j从1到n列。
例如,在Matlab中,这是通过仅使用数字加载 .dat 文件来完成的。与OpenCV混淆的是 .yml 或 .xml 还有其他一些脚本。
答案 0 :(得分:6)
从 .xml / .yaml 文件中读取/写入任何OpenCV数据结构非常简单。
在将任何内容写入此类文件之前,您需要打开它并最后将其关闭。 OpenCV中的XML / YAML数据结构为FileStorage
。
string filename = "I.xml";
FileStorage fs(filename, FileStorage::WRITE);
Mat R = Mat_<uchar >::eye (3, 3),
fs << "R" << R; // Write entire cv::Mat
fs["R"] >> R; // Read entire cv::Mat