#include "highgui.h"
//运行程序,加载制定目录中的图片显示在屏幕上,直至按下任意键后,关闭窗口并退出程序。
int main()
{
//将图像文件加载至内存。
//cvLoadImage()是一个高层调用接口。通过文件名确定被加载的文件格式;将自动分配图像数据结构所需的内存。可以读取绝大多数格式BMP,PNG,JPEG,JPE,PBM,PGM,PPM,SR,RAS,TIFF。
//该函数执行完返回一个指针,指向一块为描述该图像文件的数据结构(IPLImage)而分配的内存块。
//Opencv使用IPlImage处理单通道,多通道,整型的,浮点型的等所有类型的图像文件。
IplImage* Img = cvLoadImage("F:\\VS\\opencv0806test\\Example1.png");
//cvNamedWindow()是一个高层调用接口。该函数由HighGUI库提供。
//cvNamedWindow()用于在屏幕上创建一个窗口,将被显示的图像包含于该窗口。
//第一个参数指定窗口的标题,第二个参数定义窗口的属性。0为图像根据窗口的大小进行拉伸或缩放,CV_WINDOW_AUTOSIZE则表示窗口随着图像的大小进行拉伸或缩放调整以容纳图像。
cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
//cvShowImage()第一个参数确定在哪一个已存在的窗口显示图像;第二个参数是一个与某个图像文件相对应的IplImage*类型的指针。
//函数调用时,该窗口被重新绘制,并且图像也会显示在窗口中。
cvShowImage("Example1",Img);
//cvWaitKey()功能是使程序暂停,等待用户触发一个按键操作。
//当参数设为正数时,程序将暂停一段时间,时间长为该整数值个毫秒单位,然后继续执行程序,即使没有按键。设为0或负数时,程序将一直等待用户触发按键操作。
cvWaitKey(0);
//一旦用完加载完的图像,我们就可以释放该图像文件所分配的内存。
//cvReleaseImage()函数一个类型为IPLImage*的指针参数抵用该函数,用以执行内存释放操作。
//函数调用完毕后,指针将被设置为NULL。
cvReleaseImage(&Img);
//销毁显示图像的窗口。关闭图像,并释放为该窗口所分配的所有内存
cvDestroyWindow("Example1");
}