显示图像
#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
IplImage* img = cvLoadImage("D:\\OpenCVT\\2.jpg");
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
}
cvLoadImage()
IplImage * img=cvLoadImage(argv[1]);
该程序功能是将图像文件加载至内存,通过文件名确定被加载文件的格式;
并且该函数将自动分配图像数据结构所需的内存。
可读取类型:BMP,DIB,JPEG,JPE,PNG,PBM,PGM,PPM,SR,RAS,TIFF
该函数执行完返回一个指针,此指针指向一块描述为该图像文件的数据结
构而分配的内存快。
cvNamedWindow()
cvNamedWindow()函数也是一个高层调用接口,该函数由HighGUI库提供。
cvNamedWindow()函数用户在屏幕上创建一个窗口,将被显示的图像包含
于于该窗口中。函数的第一个参数指定了该窗口的窗口标题,如果要使用
HighGUI库所提供的其他函数与该窗口进行交互时,我们将通过该参数值引
用这个窗口。
cvNamedWindow()函数的第二个参数定义窗口的属性。该参数可被设置为
0(默认值)或CV_WINDOW_AUTOSIZE),设置为0时,窗口的大小不会
因为图像的大小而改变,图像只能在窗口中根据窗口的大小进行缩放,设置
为CV_WINDOW_AUTOSIZE时,窗口会根据图像的大小自动进行拉伸或缩
放大,以容纳图像。
cvShowImage()
在一个创建好的窗口中显示图像,第一个参数,窗口,第二个参数,图像
cvWaitKey()
cvWaitKey()函数的功能是使程序暂停,等待用户触发一个按键操作。
如果参数为正数,则程序将暂停一段时间,等待用户触发一个按键操作,时间
长为该整数值个毫秒单位。如果为负数或0,程序将一直等待用户触发按键操作。
cvReleaseImage()
cvReleaseImage(&image)一旦用完加载到内存的图像文件,我们就可以释放为
该图像文件所分配的内存。我们通过为cvReleaseImage()函数传递一个类型为
IplImage*的指针参数调用该函数,用以执行内存释放操作。对cvReleaseImage()
函数的调用执行完毕后。img指针将被设置为NULL。
cvDestroyWindow()
销毁显示图像文件的窗口。cvDestroyWindow("Example1")函数将关闭窗口,并同时
释放为该窗口所分配的所有内容(包括窗口内部的图像内存缓冲区,该缓冲区中保存
了与img指针相关的图像文件像素信息的一个副本)。