opencv读matlab中.mat文件

本文介绍了如何将MATLAB中的矩阵转换为XML文件,以便使用OpenCV进行读取。通过在MATLAB中利用xmlwrite函数生成XML文件,并删除'encoding="utf-8"',可以确保OpenCV能够正确读取数据。测试过程表明,这种方法能够成功地在MATLAB和OpenCV之间传递矩阵数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到一个问题,需要将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');
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值