最近学习数字图像处理基础及OpenCV实现这本书,写一点东西记录所学的内容。。
一、 打开图像与视频
打开图像
用到了OpenCV中的结构体IplImage,
函数IplImage* cvLoadImage( const char* filename, int iscolor);
其中,filename
是待载入图像的名称,包括图像的扩展名;iscolor
是一个辅助参数项,可选正数、零和负数三种值,正数表示作为三通道图像载入,零表示该图像作为单通道图像,负数表示载入图像的通道数由图像文件自身决定[1](百度)。
在MFC中使用的类CvvImage,
类中方法:
导入图像
void CopyOf( IplImage* img, int desired_color = -1 );或void CopyOf( CvvImage& image, int desired_color = -1 );
其中,image
是已载入的图像,desired_color
与载入函数一样。
输出到DC
void DrawToHDC( HDC hDCDst, RECT* pDstRect );
其中hDCDst
绘图DC,pDstRect
是绘制的矩阵区域。
代码如下:
CFileDialog dlg(TRUE, _T("*.bmp"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY,
_T("image files(*.bmp;*.jpg)|*.bmp;*.jpg|All Files(*.*)|*.*||"), NULL);
dlg.m_ofn.lpstrTitle = _T("Open Image");
dlg.m_ofn.lpstrInitialDir = _T