在OpenCV中文论坛看到有不少帖子讲到如何在MFC下应用OpenCV进行图像和视频处理的方法,受益颇丰,主要有下面这些帖子:
1、opencv 数据读写操作+图像噪声+ MFC下OpenCV源代码
2、MFC中快速应用OpenCV & 相应论坛帖子
3、MFC+openCV对话框中显示视频
4、如何把视频显示到MFC的picture控件上
5、一个人脸-人眼检测例程,大家可以参考参考
6、A step-by-step guide to the use of Microsoft Visual C++ and the Intel OpenCV library
另外还参考了于仕琪老师的《OpenCV教程-基础篇》,不过上面这些资料主要是 VC6 和 OpenCV1.0/1.1 的版本,而我使用的是 VS2008 和 OpenCV2.0,两者与之前版本相比都有很大的不同,按照论坛教程资料来做MFC下的OpenCV应用常会遇到各种各样的编程和调试问题。接下来的学习笔记将以上面的《A step-by-step guide …》为基础,总结一下VS2008 MFC下使用OpenCV2.0进行图像和视频处理的各种问题。
一、《OpenCV教程-基础篇》2.8节中的问题
1、P27初始化代码ROI值不为0的bug
IplImage* Temp = cvCreateImage(ImgSize, IPL_DEPTH_8U, 1); // 创建8U单通道图像来缓存RGB图的各通道子图; int h,w; float dx = (Temp->width / 256.0f); // 将图像按宽度作256等分 // 复制数据到IPL的蓝色通道 for(w = 0; w < Temp->width; w++) for(h = 0;h < Temp->height; h++) { // 复制数据到IPL