关于Mat的一些事,摘自opencv2refman

本文介绍了在OpenCV中CvMat、IplImage与Mat三种数据结构之间的转换方法。特别是从CvMat和IplImage到Mat的转换可以通过构造函数实现,并可以选择是否复制数据。相反方向的转换则通过cast操作符完成,但不会复制数据。

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

Partial yet very common cases of this user-allocated data case are conversions from CvMat and IplImage to
Mat. For this purpose, there are special constructors taking pointers to CvMat or IplImage and the optional flag
indicating whether to copy the data or not.
Backward conversion from Mat to CvMator IplImageis provided via cast operators Mat::operator

CvMat() const and Mat::operator IplImage(). The operators do NOT copy the data.

IplImage*img = cvLoadImage("greatwave.jpg", 1);
Mat mtx(img); // convert IplImage*-> Mat
CvMat oldmat = mtx; // convert Mat -> CvMat
CV_Assert(oldmat.cols == img->width && oldmat.rows == img->height &&
oldmat.data.ptr == (uchar*)img->imageData && oldmat.step == img->widthStep);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值