常用的五个函数(I/O)编辑


1. 图像载入函数


函数 cvLoadImage载入指定图像文件,并返回指向该文件的IplImage指针。函数支持bmp、jpg、 png、 tiff等格式的图像。其函数原型如下:


IplImage*  cvLoadImage( const char* filename, int iscolor);


其中,filename 是待载入图像的名称,包括图像的扩展名;iscolor是一个辅助参数项,可选正数、零和负数三种值,正数表示作为三通道图像载入,零表示该图像作为单通道图像,负数表示载入图像的通道数由图像文件自身决定。


2. 窗口定义函数


函数cvNamedWindow定义一个窗口,用于显示图像。其函数原型如下:


int cvNamedWindow( const char* name, unsigned long flags );


其中,name是窗口名,flags是窗口属性指标值,可以选择CV_WINDOW_AUTOSIZE和0两种值。CV_WINDOW_AUTOSIZE表示窗口尺寸与图像原始尺寸相同,0表示以固定的窗口尺寸显示图像。


3. 图像显示函数


函数cvShowImage是在指定的窗口中显示图像,其函数原型如下:


void cvShowImage( const char* name, const CvArr* image );


其中,name是窗口名称,image是图像类型 指针,一般是IplImage指针。


4. 图像保存函数


函数cvSaveImage以指定的文件名保存IplImage类型的 指针变量,其函数原型如下:


int cvSaveImage( const char* filename, const CvArr* image );


其中,filename是图像保存路径和名称,image是IplImage指针变量。


5. 图像销毁函数


函数cvReleaseImage销毁已定义的IplImage 指针变量,释放占用内存空间。其函数原型如下:


void cvReleaseImage( IplImage** image );


其中,image为已定义的IplImage指针。



CWnd::OnPaint编辑



afx_msg void OnPaint( );


说明:



当Windows或 应用程序请求重画应用程序窗口的一部分时,框架调用这个成员函数。WM_PAINT在调用UpdateWindow或 RedrawWindow成员函数时发出。当设置了RDW_INTERNALPAINT标志并调用 RedrawWindow成员函数时,窗口可能会接收到内部重画消息。在这种情况下,窗口可能没有更新区域。 应用程序必须调用 GetUpdateRect成员函数以确定窗口是否具有更新区域。如果 GetUpdateRect返回0,则 应用程序不应调用BeginPaint和EndPaint成员函数。



应用程序负责检查是否需要内部重画或更新,这可通过查看每条WM_PAINT消息的内部 数据结构来完成,因为一条WM_PAINT可能是由于一个无效区域或由于使用RDW_INTERNALPAINT标志调用了 RedrawWindow成员函数而引起的。



Windows只发送一次内部WM_PAINT消息。在通过UpdateWindow成员函数向窗口发送了内部WM_PAINT消息以后,将不会再向窗口发送其它WM_PAINT消息,直到再次使用RDW_INTERNALPAINT标志调用了 RedrawWindow成员函数。