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

前言

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

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

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

你需要将123.png的图片放在c的更目录下!
// opencv2-protest.cpp : 定义控制台应用程序的入口点。
// opencv图片文件读取程序
//
/*
类名:1.cpp
作者:蒲文辉
编译环境:vs2012
邮箱:279291014@qq.com
时间: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
邮箱:279291014@qq.com
时间: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;
	}

}



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

有问题留言就行

欢迎转载!

原文地址:https://www.cnblogs.com/javawebsoa/p/3078742.html