前言
这一章我们来使用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;
}
}
由于程序比较简单 也并不需要讲太多 大家自己对比一下代码 感觉感觉 就能理解!
有问题留言就行
欢迎转载!