OpenCV学习笔记(五)——2.0以上版本和以下版本的数据兼容

14 篇文章 0 订阅
13 篇文章 0 订阅
都知道,2.0版本对之前的OpenCV数据结构进行了大幅度的修改。但对之前版本的兼容是一个很重要的事情。这节就主要讨论这个问题
首先来看一下2.0版本对之前版本的进行了哪些修改

1.采用了新的数据结构Mat作为图像的容器,取代了之前的 CvMat 和 lplImage,这个改动不是太复杂,只需适应一下新东西,而且可以自由转换

Mat I;
IplImage pI = I;
CvMat mI = I;
对于指针的操作要相对复杂一些,而且还要注意内存的释放,我这里不推荐用老版本的数据结构,例如:

Mat I;
IplImage* pI = &I.operator IplImage();
CvMat* mI = &I.operator CvMat();
2.对 library 进行了重组,将原来的一个大库根据功能结构分成具体小库,这样包含头文件的时候只需要加入你需要的库,只是原来库的子集
3.使用了cv 这个namespace来防止和其他的library 结构冲突。所以在使用的时候也要预先加上cv::关键字,这也是新版本的函数,数据都省略了cv前缀的原因,一般放在include之后,格式为:

using namespace cv; // The new C++ interface API is inside this namespace. Import it.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值