OpenCV(學習筆記2)-安裝和環境配置

本博客安裝是以OpenCV 2.4.9爲樣例進行安裝。
操作系統:Windows 7 64bit
推薦使用:VS2010,VS2012,VS2013,(VS2012不建議)其餘版本的VS不建議安裝OpenCV 2.4.9

下載地址:http://opencv.org/downloads.html
在網頁中找到VERSION 2.4.9如下圖,然後下載OpenCV for Windows版本
這裏寫圖片描述

下載完成之後得到opencv 2.4.9.exe。接下來就是安裝了,其實我們下載的.exe安裝文件就是一個自解壓程序。雙擊這個.exe會提示我們解壓到什麼目錄下。我是放到E:\OpenCVLearning\下。需要注意一點,就是OpenCV項目文件在進行打包的時候,根目錄就是opencv,就是在OpenCVLearning下自動生成一個opencv目錄。如下圖所示:
這裏寫圖片描述

這裏寫圖片描述

解壓結束,我們會發現在opencv目錄下多處build和sources兩個目錄,build目錄下是支持OpenCV使用的相關文件,sources目錄下是OpenCV的源代碼和相關文件
如下圖所示:
這裏寫圖片描述

配置環境變量

【計算機】右鍵選中【屬性】,選中左邊的【高級系統設置】,進入如下界面:
這裏寫圖片描述
然後進入到【環境變量】
在系統變量 PATH中添加
E:\OpenCVLearning\opencv\build\x64\vc10\bin;和E:\OpenCVLearning\opencv\build\x86\vc10\bin;用;進行隔開。
注意:x64\下會有vc10,vc11, vc12,三個文件夾;
如果你是VS2010,則選擇對應的vc10
如果你是VS2012,則選擇對應的vc11
如果你是VS2013,則選擇對應的vc12
本文配置的是VS2010,所以配置過程中會多處出現vs10,請注意選擇

如下圖所示:
這裏寫圖片描述

注意:32bit的系統只需要添加E:\OpenCVLearning\opencv\build\x86\vc10\bin;
我的系統是64bit,我在前面把連個插入,到手纔可以在編譯器Win32和X64中來回切換。這裏的路徑是我們之前解壓到目錄。

工程包含(include)目錄的配置
我們打開vs2010, 新建一個項目,建立步驟如下截屏:
這裏寫圖片描述

這裏寫圖片描述

進入到【Win32 應用程序嚮導】界面後,單擊下一步。如下圖:
這裏寫圖片描述

【應用程序設置】界面,選中 “空項目”,如下圖:
這裏寫圖片描述

在工程opencvtest1中新建一個cpp源文件,如下圖:
這裏寫圖片描述

將源文件命名爲main。單擊添加。如下圖:
這裏寫圖片描述

在屬性管理器中,進行一次配置。實際上就行進行一次通用的配置過程,以後新建工程就不用再進行額外的配置了。屬性管理器的打開,如下圖:
這裏寫圖片描述

在屬性管理器 工作區中,對【Debug|Win32】目錄下的【Microsoft.Cpp.Win32.userDirectories】進行右鍵選中屬性。如下圖所示:
這裏寫圖片描述

進入到屬性頁面後,在包含目錄中添加三個目錄,如下:
這裏寫圖片描述

這裏寫圖片描述

我添加的三個目錄如下:
E:\OpenCVLearning\opencv\build\include
E:\OpenCVLearning\opencv\build\include\opencv
E:\OpenCVLearning\opencv\build\include\opencv2

工程庫(lib)目錄的配置
這一步配置操作和上一個工程包含(include)目錄的配置
很類似,在屬性管理器 工作區中,對【Debug|Win32】目錄下的【Microsoft.Cpp.Win32.userDirectories】進行右鍵選中屬性。進入到屬性界面後,在【庫目錄】中添加:E:\OpenCVLearning\opencv\build\x86\vc10\lib
如下圖所示:
這裏寫圖片描述

這裏寫圖片描述
注意:這些添加的目錄最好不要自己輸入,往往會輸入錯誤,導致編譯時候出現LINK: fatal error LNK1104: 無法打開文件”opencv_calib3d249.lib”這樣的錯誤。

不管是32bit還是64bit的操作系統,只需要考慮用Win32編譯器還是X64的編譯器。其實配置選擇什麼跟64bit還是32bit系統沒有什麼直接的關係,而是在於在編譯程序時候使用哪個編譯器而已。編譯器選擇Win32,就用X86;編譯器選擇x64,就用x64。一般來說,都是用的Win32的x86編譯器,所以,不管你是32bit還是64bit操作系統,配置文件最好都還是選擇x86版本。

鏈接庫的配置
還是在【屬性管理器】中對【Debug|Win32】目錄下的【Microsoft.Cpp.Win32.userDirectories】進行右鍵選中屬性。進入到屬性界面後,找到【鏈接器】->【輸入】->【附加的依賴項】並在其中添加249的lib版本,如下圖:
這裏寫圖片描述

這裏寫圖片描述

249版本如下:
19個帶d的debug版lib寫在前面,19個不帶d的release版寫在後面,就是在優先支持debug的模式下編譯運行(建議直接拷貝粘貼進去即可)

opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib


opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib

在Widows文件夾下加入OpenCV動態鏈接庫
如果你的環境變量配置的準確,切配置之後經過重啓,就沒有必要進行這步的操作。直接進行測試步驟,當然,總有些人不要重啓就可以查看配置的是否成功。那麼就需要進行這步的操作。

如果不重啓的話,會提示我們計算機丟失opencv_core249d.dll這類錯誤,解決的辦法就是把這些相關的dll都複製到Windows操作系統目錄下。默認操作系統安裝在C盤。如果是32bit把這些dll放置在C:\Windows\System3264bit把這些dll放置在C:\Windows\SysWOW64
這些dll存放在E:\OpenCVLearning\opencv\build\x86\vc10\bin
如下圖所示:
這裏寫圖片描述
將這些dll拷貝到C:\Windows\SysWOW64

測試
我們新建一個Win32的空項目,在之前已經說過步驟了,然後在源文件中新建一個cpp文件。如下圖所示:

這裏寫圖片描述
1.jpg保存到與test.cpp一個目錄下。
如下圖所示
這裏寫圖片描述
代碼如下:

#include<opencv2/opencv.hpp>
using namespace cv;

int main()
{
    // 讀入一張照片
    Mat img = imread("1.jpg");
    // 在窗口中顯示讀入的照片
    imshow("loading photo", img);
    // 等待6s後窗口自動關閉
    waitKey(6000);
}

運行結果如下圖所示:
這裏寫圖片描述
關於OpenCV更多的學習資料將繼續更新,敬請關注本博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章