【第一篇:C++与opencv】图片的读取和显示

这里介绍C++版本的opencv,和C语言版本有些不同,先看代码^_^

【编译环境:opencv2.4.4和VS2008】

 

#include "stdafx.h"

#include "opencv2/opencv.hpp"



using namespace cv;

using namespace std;



int _tmain(int argc, _TCHAR* argv[])

{

	Mat src;

	//加载图片

	src=  imread("F://Opencv_picture//44.jpg", CV_LOAD_IMAGE_COLOR);

       //检测是否加载成功

	if(!src.data)  //or == if(src.empty())

	{

	     cout<<"Could not open or find the image"<< endl;

		 return -1;

	}

	// 创建窗口

        namedWindow("Display",  CV_WINDOW_AUTOSIZE);

        //显示图像

	imshow("Display", src);



	//暂停,等待按键结束

	waitKey(0 );



	return 0;

}

 


 **************************************************************

函数讲解:

(1)C++版本用Mat代替C语言版本的IplImage和CvMat

(2)读取图像不同:

         C: IplImage* cvLoadImage(const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR )

         C++: Mat imread(const string& filename, int flags=1 )

(3)显示图像不同:

        C: void cvShowImage(const char* name, const CvArr* image)

        C++: void imshow(const string& winname, InputArray mat)

(4)等待按键函数

        C++: int waitKey(int delay=0)

        C: int cvWaitKey(int delay=0 )

(5)窗口命名

        C++: void namedWindow(const string& winname, int flags=WINDOW_AUTOSIZE ) 

        C: int cvNamedWindow(const char* name, int flags=CV_WINDOW_AUTOSIZE )

         关于namedWindow()第二个参数的使用
         CV_WINDOW_AUTOSIZE  【可用1替代或省略不写】:   显示原图,且显示后不能改变窗口大小
         CV_WINDOW_NORMAL     【可用0替代】:    显示图像后可以改变窗口的大小



 

你可能感兴趣的:(opencv)