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