CvvImage使用说明和注意事项

来源:互联网 发布:大数据与建筑 编辑:程序博客网 时间:2024/05/29 17:43

1、由于OpenCV2.2里面,把原来的CvvImage整个类给删除掉了,因此在MFC下使用带来诸多不方便,大家可以通过提前opencv2.1中的代码的方法来解决(弄一个h文件和一个cpp文件,然后放到你的项目里面一起编译就可以了)。

但是在s2010中会出现error C2039: “DrawToHDC”: 不是“ATL::CImage”的成员的错误。

这主要是因为命名冲突引起的,引入命名空间可以解决。

将CvvImage.h的倒数第二句改成:

namespace cv
{
typedef CvvImage CImage;
}

在使用CImage之前包含CcvImage.h并且将CImage写成cv::CImage即可。

当然最简单的办法还是将CImage直接换成CvvImage

2、CvvImage使用说明和注意事项

由于CvvImage是在 highgui.h 头文件中声明的,因此如果您的程序中需要使用,则必须在开头包含此头文件

#include <highgui.h>

CvvImage对应CImage宏:

#define CImage CvvImage

注意事项:

  • 由于CImage太常见, 很容易造成冲突, 因此建议不要使用该宏(可以直接删去此宏定义)。
  • 警告:参数中含有HDC(注:一种windows系统下定义的变量类型,用来描述设备描述表的句柄类型)类型的并不能保证移植到其他平台,例如Show/DrawToHDC等。
  • 后文中的DC,即device context(设备环境),一般可以理解为windows操作系统为方便绘图而抽象的”绘图表面“,“往窗口上绘图”,有时也被说成是“往窗口DC上绘图”。
3、MFC项目中同时使用CvvImage和CImage时,可以将CvvImage.H中的typedef CvvImage CImage注释掉,在所需要的类中添加#include “CvvImage.h”之后各用即可;

4、CvvImage函数参考网址:http://wiki.opencv.org.cn/index.php/CvvImage类参考手册
0 0