opecv学习之路【五】--显示一张图片

前言

这一章我们来使用opencv显示一个电脑中图片 并且简单的讲解一下代码
 
为了虽然新的文件结构更加好用 便于研究别人以前的代码 

所以我会讲c和c++两个版本的opencv程序 
 
当然我也是在学习过程中,也在不断的摸索!

使用旧的c语言结构显示一个图片:

你需要将123.png的图片放在c的更目录下!
// opencv2-protest.cpp : 定义控制台应用程序的入口点。

// opencv图片文件读取程序

//

/*

类名:1.cpp

作者:蒲文辉

编译环境:vs2012

邮箱:[email protected]

时间:2013年5月11日13:47:08

功能:学习opencv图片显示

*/



#include "stdafx.h"

#include "opencv.hpp"







int main(int argc, char* argv[])

{

	IplImage *src = cvLoadImage("c:\\123.png");

	cvNamedWindow("show");

	cvShowImage("show",src);

	int i = cvWaitKey(0);

	if(i==27){

		return 0;

	}

}

这里需要讲解一下 由于我们使用的是opencv2.4.5版本 新的版本中 只需要包含“opencv.hpp”
就可以了 如果环境搭建没有问题 opencv.hpp 这一个文件就包含了全部opencv的头文件 不信可以自己去打开opencv.hpp查看

使用新c++结构显示一个图片:

/*

类名:

作者:蒲文辉

编译环境:vs2012

邮箱:[email protected]

时间:2013年5月14日17:38:42

功能:使用opencv新结构显示图片

*/



#include "stdafx.h"

#include "opencv.hpp"



using namespace cv;

int main(int argc, char* argv[])

{

	Mat image;

	image = imread("c://123.png");

	namedWindow("win");

	imshow("win",image);

	char a = waitKey(0);

	if(a == 27){

		return 0;

	}



}


IplImage结构和 Mat结构的转换

#include "stdafx.h"

#include "opencv.hpp"



using namespace cv;

int main(int argc, char* argv[])

{

	

	IplImage* src = cvLoadImage("c:\\123.png");

	Mat temp(src,false); // 这行函数用于将 IplImage结构 转换成 Mat结构

	

	namedWindow("win");

	imshow("win",temp);

	char a = waitKey(0);

	if(a == 27){

		cvReleaseImage(&src);

		return 0;

	}



}





由于程序比较简单 也并不需要讲太多 大家自己对比一下代码 感觉感觉 就能理解!

有问题留言就行

欢迎转载!

 

你可能感兴趣的:(学习)