OS:Windows 7
IDE:Microsoft Visual Studio 2010
OpenCV Version:2.2.0
都設定好之後卻發現camera顯示不出抓到的畫面
無論是內建或是外接的鏡頭都一樣
經過Google大神爬文才發現
原來是某個hpp檔案有bug
修正方法如下:
在還沒使用cmake之前於解壓縮的OpenCV目錄中
$(安裝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之後再設定路徑就可以了~
重點就是無論是不是定義WIN32都要include cvconfig.h 就對了
順帶一提是OpenCV2.2.0有兩種安裝版本分別是:
OpenCV-2.2.0-win.zip 及 OpenCV-2.2.0-win32-vs2010.exe
後者直接安裝的版本無法使用上述步驟先行fix
所以還是乖乖使用cmake自己編譯比較好~
原文連結在此