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就可以了。