Opencv3.0中Mat与IplImage的转换

原创 2015年11月20日 09:36:15

最近做图像,使用了Opencv3.0。因为涉及了蛋疼的混合编程,所以Mat 和 IplImage的转换是必不可少的。

让人无语的是从网上查的IplImage转Mat的方法根本不能用。于是我不得不扒了一下Opencv3.0的原文档,上面这么说:

Partial yet very common cases of this user-allocated data case are conversions from CvMat and IplImage to Mat. For this purpose, there is functioncv::cvarrToMat taking pointers to CvMat or IplImage and the optional flag indicating whether to copy the data or not.

 Ptr<IplImage> iplimg(cvLoadImage(imagename)); // Ptr<T> is safe ref-counting pointer class
    if(!iplimg)
    {
        fprintf(stderr, "Can not load image %s\n", imagename);
        return -1;
    }
    Mat img = cv::cvarrToMat(iplimg); // cv::Mat replaces the CvMat and IplImage, but it's easy to convert
    // between the old and the new data structures (by default, only the header
    // is converted, while the data is shared)

以上是IplImage转换为Mat的过程,而IplImage转换Mat是有一个现成的构造函数:

IplImage(Mat& m);

所以,答案如下:

(1) IplImage 转 Mat:

IplImage* image = cvLoadImage( "lena.jpg");  
Mat mat=cvarrToMat(image);

(2)Mat转IplImage:

IplImage img = IplImage(mat);


第一篇:在opencv3.0中,Mat与iplimage转换

初学opencv3.0版本,在学习的过程中遇到了需要将Mat与Iplimage之间混合使用,所以需要对其进行转换 Mat image; Iplimage  a; a=image; 使用的时候image...
  • liaojiacai
  • liaojiacai
  • 2015年07月14日 09:35
  • 3942

Mat转换成IplImage类型

Mat 类有一个运算符函数 class
  • lichengyu
  • lichengyu
  • 2014年04月21日 21:43
  • 29913

opencv (opencv3.X) IplImage相互转换mat

opencv3.x之前的版本,mat有构造函数 Mat(const IplImage* img, bool copyData=false); IplImage转mat可以直接用由extern Ip...
  • shihz_fy
  • shihz_fy
  • 2016年05月31日 17:03
  • 2663

OpenCV学习笔记(08):OpenCV3.2版本下的Mat和IplImage相互转换

1 前言IplImage是计算机视觉处理数字图像的一种重要的抽象数据类型,最初来源于Intel公司的IPL(Image Processing Library)库。OpenCV1.0在实现该数据类型时使...
  • CV_Jason
  • CV_Jason
  • 2017年04月10日 21:25
  • 2213

opencv3.1 把mat转IplImage

在vs2015和cv3.1,findContours()找出轮廓这个函数没反应,直接退出。这个函数是mat做输入的。 我觉得之前的灰度化,二值化没有问题。该是单通道的是单通道。 断点后,重新配置环...
  • hanchan94
  • hanchan94
  • 2016年11月05日 09:47
  • 910

OpenCV - cv::Mat 和 IplImage 的转换

OpenCV - cv::Mat 和 IplImage 的转换 本文地址: http://blog.csdn.net/caroline_wendy IplImage是OpenCV中C语言的图像...
  • u012515223
  • u012515223
  • 2013年11月25日 11:14
  • 38334

IplImage和Mat间的相互转换

转自:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=8279   5楼回复 ———————————————— opencv2.0中的数据...
  • fm0517
  • fm0517
  • 2012年04月19日 21:24
  • 61305

第一篇:在opencv3.0中,Mat与iplimage转换

初学opencv3.0版本,在学习的过程中遇到了需要将Mat与Iplimage之间混合使用,所以需要对其进行转换 Mat image; Iplimage  a; a=image; 使用的时候image...
  • liaojiacai
  • liaojiacai
  • 2015年07月14日 09:35
  • 3942

【OpenCV】IplImage与Mat的相互转换

1、IplImage --> Mat 转换函数: //! converts old-style IplImage to the new matrix; the data is not copied b...
  • u012330429
  • u012330429
  • 2015年01月31日 16:44
  • 6267

javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)

前言:本篇文章依赖四个jar包,其中javacv.jar,javacpp.jar和opencv.jar为固定jar包,opencv-系统环境.jar为选配(根据自己的系统平台,x64还是x86而定) ...
  • eguid_1
  • eguid_1
  • 2016年11月18日 16:38
  • 4735
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Opencv3.0中Mat与IplImage的转换
举报原因:
原因补充:

(最多只允许输入30个字)