OpenCV升级到2.2之后,原来写的用摄像头捕获视频的程序用不了。经过Google发现这是一个OpenCV2.2已知的错误,解决的方案如下所述。
进入OpenCV的根目录,找到/modules/highgui/src/precomp.hpp这个文件,将其中的代码
#if !defined WIN32 && !defined _WIN32
#include "cvconfig.h"
#else
void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin );
#endif
改为下面的代码
#include "cvconfig.h"
#if defined WIN32 || defined _WIN32
void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin );
#endif
然后使用CMake重新生成OpenCV项目文件,然后进行编译生成bin与lib,替换原来的bin与lib就可以了。
--------------------------------------分割线 --------------------------------------
Ubuntu Linux下安装OpenCV2.4.1所需包
CentOS下OpenCV无法读取视频文件
--------------------------------------分割线 --------------------------------------