Opencv 显示图像

来源:互联网 发布:java开发报表 编辑:程序博客网 时间:2024/04/28 03:17
#include "highgui.h"
int main(int argc, char* argv[])
{
IplImage*src =cvLoadImage("E:\\PICTURE\\fly.jpg");
cvNamedWindow("win",CV_WINDOW_AUTOSIZE);
cvShowImage("win",src);
cvWaitKey(0);
cvReleaseImage(&src);
cvDestroyWindow("win");
return 0;

}

注意:把程序写好以后,选择编译,然后在windows的命令行模式(cmd)下运行,运行时输入需要传给函数的参数即可:见图片一图片二。下面对代码做逐行分析:

IplImage*src =cvLoadImage("E:\\PICTURE\\fly.jpg");该句功能是将图像文件加至内存。cvLoadImage()函数是一个高层调用接口,参数为文件的存储路径,函数能够通过文件名确定图片格式,并分配内存,然后返回指向该内存的一个指针。IplImage为结构体。在看别的资料时发现该函数可以有两个参数cvLoadImage(  ,  )第一个为图片的名称,第二个为辅助参数,可为正数、负数、零,正数表示载入彩色图像,零表示载入灰度图像,负数表示有文件本身决定。

cvNamedWindow("win",CV_WINDOW_AUTOSIZE);     cvNamedWindow()函数用于在屏幕上创建一个窗口,来显示图像。第一个参数指定窗口的标题如“win”,第二个参数定义窗口的属性,其值可以为0或者CV_WINDOW_AUTOSIZE。0时窗口大小固定,图像为适应窗口而做伸缩,为CV_WINDOW_AUTOSIZE时,窗口会伸缩以适应图像。

cvShowImage("win",src);    cvShowImage()函数显示窗口中的图像,该图像由IplImage*指针找到,并在cvNamedWindow创建的窗口中显示,第一个参数指定窗口的名称。

cvWaitKey(0);    cvWaitKey()功能是使程序暂停,参数为整数时,如100,则程序暂停100毫秒,若参数为0或者负数,则程序一直等待用户触发按键操作。

cvReleaseImage(&src); 释放图像内存。通过为函数cvReleaseImage()传递一个类型为IplImage*的参数指针,调用该函数,执行内存释放操作。执行完后,src指针被设置为NULL。

cvDestroyWindow("win");   cvDestroyWindow()函数关闭窗口,并释放为该窗口所分配的内存。

0 0