OpenCV2.0.0這個版本的 bin 和 lib都是未經編譯、還不能直接使用的。通過 OpenCV 中文論壇得知,要使用 Cmake 軟體對 OpenCV 源代碼重新編譯,才能得到最終的dll 和 lib 檔案。編譯方法如下:
1. 假設OpenCV2.0安裝于以下目錄: C:/opencv2.0。
2. 使用CMake建立VC工程檔案
2.1 運作Cmake gui
Where is the source code: C:/opencv2.0
Where to build the binaries: C:/opencv2.0/vs2008build(自己建立此目錄)
2.2 點選configure按鈕,選擇相應的編譯器為visual studio 9 2008,點選finish,出現紅色标記的參數。
2.3 再點configur按鈕,參數消除了紅色。
2.4 點選generator按鈕,生成工程檔案。
3. 用vc2008進行編譯
完成上一步驟後,将在C:/opencv2.0/vs2008build目錄下生成OpenCV.sln的VC Solution File,請用VS2008打開OpenCV.sln,然後執行如下操作:
- 在Debug下,選擇Solution Explorer裡的 Solution OpenCV,點右鍵,運作"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運作"Build"。
- 在Release下,選擇Solution Explorer裡的 Solution OpenCV,點右鍵,運作"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運作"Build"。
此時,OpenCV的*d.dll檔案(for debug)和*.dll檔案(forrelease)将出現在C:/opencv2.0/vs2008build/bin目錄中;OpenCV的*d.lib檔案(fordebug)和*.lib檔案(forrelease)将出現在C:/opencv2.0/vs2008build/lib目錄;頭檔案*.h出現在C:/opencv2.0/vs2008build/include/opencv中。
可以被VS2008調用的OpenCV動态庫生成完畢。
VC 2008 Express下安裝OpenCV2.0
本文檔适用版本為OpenCV 2.0和Visual C++ 2008 Express,如使用其他版本,僅供參考。
OpenCV2.0官方安裝文檔,請參考:http://opencv.willowgarage.com/wiki/InstallGuide
目錄[隐藏]
|
[ 編輯]
安裝所需要的軟體
[ 編輯]
安裝VC++ 2008 Express
Visual C++ Express是微軟推出的一款免費內建開發環境,如果你沒有足夠資金購買Visual C++,你可以使用Visual C++ Express。本安裝說明撰寫時,最新的版本是Visual C++ 2008 Express.
Visual C++ 2008 Express可以從微軟網站下載下傳安裝(http://www.microsoft.com/express/product/default.aspx)。
[ 編輯]
安裝OpenCV
從 http://www.opencv.org.cn/index.php/Download 下載下傳OpenCV 2.0,并安裝,本文檔假定安裝目錄為:D:/Program Files/OpenCV2.0
[ 編輯]
安裝CMake
從 http://www.cmake.org/cmake/resources/software.html 下載下傳 Windows (Win32 Installer) 安裝。
[ 編輯]
編譯OpenCV
[ 編輯]
用CMake導出VC++項目檔案
- 運作cmake-gui,設定路徑為OpenCV安裝路徑(本文檔假定安裝位置為:D:/Program Files/OpenCV2.0),并建立子目錄D:/Program Files/OpenCV2.0/vc2008,用于存放編譯結果。
- 然後點 configure,在彈出的對話框内選擇 Visual Studio 9 2008。
- 如果是VC++2008的Express版本,則不支援OpenMP,是以需要取消ENABLE_OPENMP選項。VC++ 2008(不是Express版本)支援OpenMP,如果你使用VC++2008,強烈建議不要取消這個選項。
點選看大圖 | 點選看大圖 | 點選看大圖 |
[ 編輯]
編譯 OpenCV Debug和Release版本庫
完成上一步驟後,将在D:/Program Files/OpenCV2.0/vc2008目錄下生成OpenCV.sln的VC Solution File,請用VC++ 2008 Express打開OpenCV.sln,然後執行如下操作:
- 在Debug下,選擇Solution Explorer裡的 Solution OpenCV,點右鍵,運作"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運作"Build"。
- 在Release下,選擇Solution Explorer裡的 Solution OpenCV,點右鍵,運作"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運作"Build"。
此時,OpenCV的*d.dll檔案(for debug)和*.dll檔案(for release)将出現在D:/ProgramFiles/OpenCV2.0/vc2008/bin目錄中;OpenCV的*d.lib檔案(for debug)和*.lib檔案(forrelease)将出現在D:/Program Files/OpenCV2.0/vc2008/lib目錄;頭檔案*.h出現在D:/ProgramFiles/OpenCV2.0/vc2008/include/opencv中。
可以被VC++ 2008 Express調用的OpenCV動态庫生成完畢。
點選看大圖 | 點選看大圖 | 點選看大圖 |
點選看大圖 | 點選看大圖 |
[ 編輯]
配置Windows環境變量Path
将D:/Program Files/OpenCV2.0/vc2008/bin加入Windows系統環境變量Path中。加入後可能需要登出目前Windows使用者(或重新開機)後重新登陸才生效。
點選看大圖 | 點選看大圖 |
[ 編輯]
為VC++ 2008 Express配置OpenCV環境
打開VC++ 2008 Express,菜單 Tools -> Options -> Projects and Solutions -> VC++ Directories
- Show directories for選擇include files,加入目錄 D:/Program Files/OpenCV2.0/vc2008/include/opencv
- Show directories for選擇library files,加入目錄 D:/Program Files/OpenCV2.0/vc2008/lib
關閉VC++ 2008 Express。
點選看大圖 | 點選看大圖 |
[ 編輯]
使用OpenCV 2.0程式設計
- 打開VC++ 2008 Express,建立一個Win32控制台程式opencvhello;
- 選擇Solution Explorer裡的opencvhello項目,點選滑鼠右鍵,選擇Properties;
- 為項目的Debug配置增加依賴的庫:cxcore200d.lib cv200d.lib highgui200d.lib
- 為項目的Release配置增加依賴的庫:cxcore200.lib cv200.lib highgui200.lib
- 編譯運作下面的例程(需要将lena.jpg檔案放在項目目錄下)。
/***********************************************************************
* OpenCV 2.0 測試例程
* 于仕琪 提供
***********************************************************************/ #include "stdafx.h"
#include "highgui.h" //所有的以新風格命名的函數都在 cv 命名空間中
//如果希望不要每次都輸入 cv:: ,則可使用下面語句
//using namespace cv; int _tmain(int argc, _TCHAR* argv[])
{ const char* imagename = "lena.jpg"; cv::Mat img = cv::imread(imagename); // Matlab風格的 cvLoadImage 函數的另一種調用
if(img.empty())
{
fprintf(stderr, "Can not load image %s/n", imagename);
return -1;
} if( !img.data ) // 檢查是否正确載入圖像
return -1; cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //建立視窗
cv::imshow("image", img); //顯示圖像 cv::waitKey(); return 0;
}
點選看大圖 | 點選看大圖 | 點選看大圖 |
點選看大圖 | 點選看大圖 |