opencv基本图像处理——两种方式读图像

1 Mat型

Mat src;

src = imread("../images/LinuxLogo.jpg");

 //检测图像数据是否读取到
   if( !src.data ) { std::cout<< "Error loading src"<<std::endl; return -1; }

   /// 创建显示窗
   namedWindow("Linear Blend", 1);
//显示图像

   imshow( "Linear Blend", dst );

//不需要释放了


2 IplImage类型


#include "highgui.h"

int main( int argc, char** argv )
{
  IplImage* img = cvLoadImage( argv[1] );
  cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );
  cvShowImage("Example1", img );
  cvWaitKey(0);
  cvReleaseImage( &img );//需要释放图像指针
  cvDestroyWindow("Example1");//释放窗口
}

3 IplImage与Mat类型转换

(1)Mat转IplImage

Mat A = imread("name");

IplImage p_img1 = A;

IplImage* p_img = &p_img1;//或者调用函数的时候直接使用&p_img1

(2)IplImage转Mat

IplImage*img;

Mat A(img);

以后遇到了其他情况再补


你可能感兴趣的:(opencv基本图像处理——两种方式读图像)