根据上篇文章中创建工程并加载两个文件,然后写入如下代码即可
代码如下:
// LoadAndDisplayImage.cpp : 定义控制台应用程序的入口点。
//显示图像文件
#include "StdAfx.h"
#include <opencv2/opencv.hpp>
using namespace std;
int main()
{
const char *pstrImageName = "robot.jpg";
const char *pstrWindowsTitle = "LoadAndDisplayImage";
//从文件中读取图像
IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
//创建窗口
cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
//在指定窗口中显示图像
cvShowImage(pstrWindowsTitle, pImage);
//等待按键事件
cvWaitKey();
cvDestroyWindow(pstrWindowsTitle);
cvReleaseImage(&pImage);
return 0;
}
对代码中的主要函数进行下讲解:
1.创建窗口 cvNamedWindow
函数名称:cvNamedWindow
函数功能:创建窗口
函数原型:
int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );
参数说明:
第一个参数表示窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。被创建的窗口可以通过它们的名字被引用。
第二个参数表示窗口属性标志。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。当这个标志被设置后,用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像。
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。
注意:
如果已经存在这个名字的窗口,这个函数将不做任何事情。
2.在指定窗口中显示图像 cvShowImage
函数名称:cvShowImage
函数功能:在指定窗口中显示图像
函数原型:
void cvShowImage( const char* name, const CvArr* image );
参数说明:
第一个参数:窗口的名字。
第二个参数:被显示的图像。
3.等待按键事件 cvWaitKey
函数名称:cvWaitKey
函数功能:等待按键事件
函数原型:
int cvWaitKey( int delay=0 );
参数说明:
第一个参数:延迟的毫秒数,当delay<=0时表示无限等待。
函数返回值:
如果超过指定时间则返回-1,否则返回被按键的值。
运行结果