stamina 发表于 2018-10-12 14:45:23

OpenCV: IplImage和Mat,用哪个?

OpenCV: IplImage和Mat,用哪个?


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




莫晓沙 发表于 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:

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

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


Mat 转 IplImage:

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

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

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

拥抱AI 发表于 2018-10-14 13:03:41

opencv2.0,3.0 推荐使用Mat,C++类
页: [1]
查看完整版本: OpenCV: IplImage和Mat,用哪个?