种消息交给谁处理呢?所以VC在调用Windows的API(CreateWindow或者CreateWindowEx)创建窗口之前,要求程序员必须定义一个窗口类(不是传统C++意义上的类)来规定所创建该窗口所需要的各种信息,主要包括:窗口的消息处理函数、窗口的风格、图标、鼠标、菜单等。在人机界面的设计中,添加了三个图像显示窗口:左上方是图像的采集显示;右上方是采集图像的截取并作了简单的图像处理;左下方是图像的读取、显示并进行简单的图像处理。另外还设计了五个单击按钮,这五个单击按钮分别为:打开图像、图像灰度化、二值化、视频采集和抓图。人机界面效果如图1。9图1程序人机界面设计3.3 图像的打开与显示不同类型的图像内部结构不同,需要根据图像的结构采用不同的方法将图像文件中的数据读入内存。OpenCV的API函数cvLoadImage可以将图像数据从文件中加载进来,而且不论加载前图像是什么类型,加载后它返回的都是一个指向IplIm-age结构体的指针,方便了后续处理。cvLoadImage的函数原型为:IplImage*cvLoadImage(constchar*filename,intiscolor=1)返回值为一个指向IplImage结构体的指针。IplImage结构体的width、height、widthStep成员分别指示了图像的宽像素数、高像素数、排列的图像的行大小,指针参数imageData指向了实际的图像数据。(1)图像打开的关键程序如下:void CMyImgOpenGUIDlg::OnClickedButtonImgopen(){img_src=cvLoadImage("D:\\ProgramFails\\zzq1\\MyImgOpenGUI3\\img.bmp",1);if(!img_src) {MessageBox(_T("打开图片错误"));return;}