【第一篇: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替代】: 显示图像后可以改变窗口的大小

这里介绍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替代】: 显示图像后可以改变窗口的大小
经验分享 程序员 微信小程序 职场和发展