用opencv 显示一张图片,这应该是最基础的操作,网上代码一大堆。下面就来看看基础代码。
我们就新建一个 win32控制台, 如果这里不知道怎么建立项目以及怎么配置环境,那就看看下这个大神的链接吧 。 opencv 环境配置已经如何开始一个工程建立
#include <highgui\highgui_c.h>
#include <opencv\cv.h>
int main()
{
IplImage * img = cvLoadImage("pic.jpg", CV_LOAD_IMAGE_UNCHANGED);
cvNamedWindow("mian", CV_WINDOW_AUTOSIZE);
cvShowImage("mian",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("main");
return 0;
}
这就是可以显示一张代码的。 那么我吗就来一个个解释下代码的意思。
首先要显示这个图片,我们就要用到头文件的 highgui_c.h ,既然用到opencv 那肯定要用 cv.h头文件,如果不知道为啥,那么请看我opencv 学习之旅第一篇课程。
然后呢 在main 函数里面,进行操作。
HighGUI 工具集里面
cvLoadImage(*filename,int flags)
通过文件名确定图像格式,并且函数内部给图像分配了内存空间,不用时候要销毁内存。以免内存泄漏
第一个参数 图片路径
第二个参数 图像格式 -1 图像颜色不变 0 灰度图像,1 彩色图像。
cv_load_image_unchanged cv_load_image_gray,
颜色深度。 一个像素几位表示。
int cvNamedWindow(char *name,int flags)
name 窗口标志,如果有同名窗口,函数什么也不干。
flags cv_window_autosize 根据图像大小自动调整窗口大小。 0 窗口大小不变。
cvShowImage(char * name, pIImage *img)
在 name 窗口显示 img 图片。
cvWaitKey(); 等待 《=0 等待按键, 》0 等待 毫秒级
cvReleaseImage(IpIImage * img) 释放掉图片分配的内存
cvDestroyWindow(char * winname) 释放掉分配的窗口内存
好了,那么我们来看看显示的图片吧。
哇咔咔, 如果当年在大学 写一个这样的程序是不是瞬间就爱上了c++ , 奈何当年写了两年多的黑窗口,最多也就是改变下背景颜色。 好了,下一篇见。