查看: 2036|回复: 2

OpenCV: IplImage和Mat,用哪个?

[复制链接]

2

主题

54

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2018-10-12 14:45:23 | 显示全部楼层 |阅读模式
OpenCV: IplImage和Mat,用哪个?


小菜鸟一枚,刚刚接触opencv。我有一本叫《学习OpenCV》的书,作者是Bradski和Kaehler。我的问题是,如果我想以2.0+的方式做任何事情,什么时候应该使用呢Mat,什么时候应该使用IplImage?求大神告知




回复

使用道具 举报

6

主题

21

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2018-10-12 14:49:57 | 显示全部楼层
IplImage:

在OpenCV中IplImage是表示一个图像的结构体,也是从OpenCV1.0到目前最为重要的一个结构;

在之前的图像表示用IplImage,而且之前的OpenCV是用C语言编写的,提供的接口也是C语言接口;



Mat:

Mat是后来OpenCV封装的一个C++类,用来表示一个图像,和IplImage表示基本一致,但是Mat还添加了一些图像函数;


在OpenCV中, IplImage 与 Mat是可以相互转换的;

IplImage  转  Mat:

// extern  IplImage * plpliamge; //假设 IplImage 已经创建;

cv::Mat * pmatImage = new cv:Mat( IplImage, 0  ): //第二个参数表示不进行像素数据copy;


Mat 转 IplImage:

//extern cv:Mat  matImage; //假设已经创建cv:Mat;

IplImage limage = IplImage ( matImage );//不进行数据copy;

通常情况对于图像的读取,IplImage 通过 cvLoadImage,   cv:Mat通过 cv::imread;
回复

使用道具 举报

0

主题

2

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2018-10-14 13:03:41 | 显示全部楼层
opencv2.0,3.0 推荐使用Mat,C++类
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表