一、创建.xml文件
#include #include #include using namespace std;
void main(){
double a[9]={2.526,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文件main函数部分
CvMat* testmat=(CvMat*)cvLoad("test.xml");
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
{
cout<
三、matlab中生成xml(参考其他博客,亲测可用)
function [ ] = createxml( name,datatest )
%CREATEXML 此处显示有关此函数的摘要
% 此处显示详细说明
xdoc=com.mathworks.xml.XMLUtils.createDocument('opencv_storage');
xroot=xdoc.getDocumentElement;
%
[m,n]=size(datatest);
type=xdoc.createElement(name);
xroot.appendChild(type);
type.setAttribute('type_id',' opencv-matrix')
%
rows=xdoc.createElement('rows');
rows.appendChild(xdoc.createTextNode(sprintf('%d',m)));
type.appendChild(rows);
cols=xdoc.createElement('cols');
cols.appendChild(xdoc.createTextNode(sprintf('%d',n)));
type.appendChild(cols);
dt=xdoc.createElement('dt');
dt.appendChild(xdoc.createTextNode(sprintf('%s',' f')));
type.appendChild(dt);
data=xdoc.createElement('data');
data.appendChild(xdoc.createTextNode(sprintf('%f ',datatest)));
type.appendChild(data);
str=strcat(name,'.xml');
xmlwrite(str,xdoc);
end四、matlab中.mat文件在opencv中使用
使用第三部分的将字典B转换成xml文件Dic: createxml('Dic',B);
在第二部分读取
注意:如果不能正常读取可以先用第一部分生成一个,然后参照格式,适当修改。