VC 2008 Express下安裝OpenCV2.3.1

VC 2008 Express下安裝OpenCV2.3.1

注意: php

  1. 下列文檔以VC2008 Express爲例,VC2010下的配置應與本文檔相似。
  2. VC 6.0不被OpenCV 2.3.1支持。
  3. VC Express是微軟提供的免費版,可今後處下載: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
  4. 建議先不要本身編譯,若是使用預編譯好的庫有問題,再嘗試本身編譯。

目錄

[ 隱藏]

[編輯]html

安裝所須要的軟件

[編輯]express

下載OpenCV
  1. 從本站下載欄目 http://www.opencv.org.cn/index.php/Download 下載 OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
  2. 將 OpenCV-2.3.1-win-superpack.exe 解壓並放到某個目錄下,例如 D:\Program Files\OpenCV2.3.1 (無需運行setup.exe,解壓則可)。解壓後的目錄結構以下圖。

點擊看大圖

Enlarge

點擊看大圖編程

[編輯]ide

安裝CMake(不打算本身編譯無需安裝)

http://www.cmake.org/cmake/resources/software.html 下載 Windows (Win32 Installer) 安裝。 函數

[編輯]工具

編譯OpenCV(非必需步驟)

[編輯]oop

用CMake導出VC++項目文件
  • 運行cmake-gui,設置where is the source code路徑爲OpenCV安裝路徑(本文檔假定安裝位置爲:D:\Program Files\OpenCV2.3.1),並建立子目錄D:\Program Files\OpenCV2.3.1\build\my,並將cmake的"where to build the binaries"設置爲這個目錄。
  • 而後點 configure,在彈出的對話框內選擇 Visual Studio 9 2008。
  • 你可根據你的系統修改選項,修改後再次選擇「Congfigure」,完成後選擇「Generate」。

2.0版本截圖僅供參考,點擊看大圖

Enlarge

2.0版本截圖僅供參考,點擊看大圖測試

點擊看大圖

Enlarge

點擊看大圖ui

2.0版本截圖僅供參考,點擊看大圖

Enlarge

2.0版本截圖僅供參考,點擊看大圖

[編輯]

編譯 OpenCV Debug和Release版本庫

完成上一步驟後,將在D:\Program Files\OpenCV2.3.1\build\my目錄下生成OpenCV.sln的VC Solution File,請用VC++ 2008 Express打開OpenCV.sln,而後執行以下操做:

  • 在Debug下,選擇Solution Explorer(解決方案資源管理器)裏的 Solution OpenCV(解決方案「OpenCV」),點右鍵,運行"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運行"Build"。
  • 在Release下,選擇Solution Explorer裏的 Solution OpenCV,點右鍵,運行"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運行"Build"。

所有運行完畢後,針對你的系統的OpenCV庫就生成了。

[編輯]

配置VC

[編輯]

配置include路徑

也即告訴VC去什麼地方尋找OpenCV的頭文件,打開VC,選擇菜單「工具」->「選項」->「項目和解決方案」->「VC++目錄」->「包含文件」,包含 D:\Program Files\OpenCV2.3.1\build\include;D:\Program Files\OpenCV2.3.1\build\include\opencv;D:\Program Files\OpenCV2.3.1\build\include\opencv2 若是是本身編譯的則輸入D:\Program Files\OpenCV2.3.1\build\my\install\include

點擊看大圖

Enlarge

點擊看大圖

[編輯]

配置lib路徑

也即告訴VC去什麼地方尋找OpenCV的庫文件。

在剛纔下載的文件OpenCV-2.3.1-win-superpack.exe 裏,已經爲VC2008和VC2010預先編譯好了動態庫和靜態庫。所以咱們不須要如早先版本那樣,本身用cmake編譯OpenCV。

  • 本身編譯的庫,庫目錄爲:D:\Program Files\OpenCV2.3.1\build\my\install\lib
  • 32位系統 & VC2008,庫目錄爲:D:\Program Files\OpenCV2.3.1\build\x86\vc9\lib
  • 32位系統 & VC2010,庫目錄爲:D:\Program Files\OpenCV2.3.1\build\x86\vc10\lib
  • 64位系統 & VC2008,庫目錄爲:D:\Program Files\OpenCV2.3.1\build\x64\vc9\lib
  • 64位系統 & VC2010,庫目錄爲:D:\Program Files\OpenCV2.3.1\build\x64\vc10\lib

請根據本身的狀況四選一,將庫目錄輸入菜單「工具」->「選項」->「項目和解決方案」->「VC++目錄」->「庫文件」 。以下圖所示:

點擊看大圖

Enlarge

點擊看大圖

點擊看大圖

Enlarge

點擊看大圖

點擊看大圖

Enlarge

點擊看大圖

[編輯]

設置環境變量

剛纔設置的是動態庫,所以還須要將OpenCV的dll文件所在的目錄加入Path環境變量。dll文件目錄以下,請根據本身狀況五選一:

  • 本身編譯的庫,dll目錄爲:D:\Program Files\OpenCV2.3.1\build\my\install\bin
  • 32位系統 & VC2008,dll目錄爲:D:\Program Files\OpenCV2.3.1\build\x86\vc9\bin
  • 32位系統 & VC2010,dll目錄爲:D:\Program Files\OpenCV2.3.1\build\x86\vc10\bin
  • 64位系統 & VC2008,dll目錄爲:D:\Program Files\OpenCV2.3.1\build\x64\vc9\bin
  • 64位系統 & VC2010,dll目錄爲:D:\Program Files\OpenCV2.3.1\build\x64\vc10\bin

因爲有些函數須要TBB,因此須要將tbb所在的目錄也加入到環境變量Path中。TBB相關的DLL路徑爲:

  • 32位系統 & VC2008:D:\Program Files\OpenCV2.3.1\build\common\tbb\ia32\vc9
  • 32位系統 & VC2010:D:\Program Files\OpenCV2.3.1\build\common\tbb\ia32\vc10
  • 64位系統 & VC2008:D:\Program Files\OpenCV2.3.1\build\common\tbb\intel64\vc9
  • 64位系統 & VC2010:D:\Program Files\OpenCV2.3.1\build\common\tbb\intel64\vc10

以下圖所示將OpenCV和TBB的dll文件所在的目錄系統環境變量Path中。加入後可能須要註銷當前Windows用戶(或重啓)後從新登錄才生效。

點擊看大圖

Enlarge

點擊看大圖

點擊看大圖

Enlarge

點擊看大圖

[編輯]

使用OpenCV 2.3.1編程

  • 打開VC++ 2008 Express,建立一個Win32控制檯程序helloopencv;

點擊看大圖

Enlarge

點擊看大圖

  • 選擇Solution Explorer裏的opencvhello項目,點擊鼠標右鍵,選擇Properties。

點擊看大圖

Enlarge

點擊看大圖

  • ,在[連接器 LINKER]的[輸入INPUT]中,爲項目的Debug配置增長 [附加依賴項 Additional Dependencies]:opencv_calib3d231d.lib; opencv_contrib231d.lib; opencv_core231d.lib; opencv_features2d231d.lib; opencv_flann231d.lib; opencv_gpu231d.lib; opencv_highgui231d.lib; opencv_imgproc231d.lib; opencv_legacy231d.lib; opencv_ml231d.lib; opencv_objdetect231d.lib; opencv_ts231d.lib; opencv_video231d.lib (可根據實際須要刪減)注意,請打開了新編輯窗口(即點擊了「...」按鈕)「附加依賴項」,並一條一條分別加入,一條一行(一個回車),(注意行末不要加";")不然會出現相似如下錯誤:1>LINK : fatal error LNK1104: 沒法打開文件「…….lib」
  • 若是下載的OpenCV不是2.3.1版本,請將"XXX231d.lib"中的"231"更改成對應的版本號,例如:下載 OpenCV 2.4.0,則統一改成"XXX240d.lib",不然會出現相似如下錯誤:1>LINK : fatal error LNK1104: 沒法打開文件「XXX.lib」

點擊看大圖

Enlarge

點擊看大圖

  • 爲項目的Release配置增長[附加依賴項 Additional Dependencies]:opencv_calib3d231.lib; opencv_contrib231.lib; opencv_core231.lib; opencv_features2d231.lib; opencv_flann231.lib; opencv_gpu231.lib; opencv_highgui231.lib; opencv_imgproc231.lib; opencv_legacy231.lib; opencv_ml231.lib; opencv_objdetect231.lib; opencv_ts231.lib; opencv_video231.lib (可根據實際須要刪減)*

點擊看大圖

Enlarge

點擊看大圖

  • 編譯運行下面的例程(須要將lena.jpg文件放在項目目錄下,即與生成的.exe文件同位置)。
/***********************************************************************
 * OpenCV 2.3.1 測試例程
 * 於仕琪 提供
 ***********************************************************************/
#include "stdafx.h"   #include <opencv2/opencv.hpp>   using namespace std;
using namespace cv;   int main(int argc, char* argv[])
{
	const char* imagename = "lena.jpg";   //從文件中讀入圖像
	Mat img = imread(imagename);   //若是讀入圖像失敗
	if(img.empty())
	{
		fprintf(stderr, "Can not load image %s\n", imagename);
		return -1;
	}   //顯示圖像
	imshow("image", img);   //此函數等待按鍵,按鍵盤任意鍵就返回
	waitKey();   return 0;
}

程序運行結果圖,點擊看大圖

Enlarge

程序運行結果圖,點擊看大圖

[編輯]

做者

相關文章
相關標籤/搜索