遇到一个问题,需要将matlab中的矩阵用opencv打开。故尝试了下在matlab中编辑.xml文件,用opencv中的cvLoad调用。
首先用opencv自带函数生成一个.xml文件
double a[9]={2,2,3,4,5,6,1,2,2};
CvMat *testmat=cvCreateMat(3,3,CV_64FC1);
cvInitMatHeader(testmat,3,3,CV_64FC1,a);
cvSave("my.xml",testmat);
打开后格式为
<?xml version="1.0"?>
<opencv_storage>
<my type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
2. 2. 3. 4. 5. 6. 1. 2. 2.</data></my>
</opencv_storage>
在matlab中编写文件,用xmlwrite生成.xml文件
function createxml(name,datatest) % name是输入的文件名,data是matlab中的矩阵(一般都是float格式存储的) xdoc=com.mathworks.xml.XMLUtils.createDocument(‘opencv_storage');