1. 程式人生 > >VS2015下的OpenCV配置使用

VS2015下的OpenCV配置使用

由於最近開始學習計算機影象方面的東西,準備使用OpenCV進行實驗,花了幾個小時弄了一下OpenCV在VS2015下安裝配置。過程中遇到了幾個問題,查了不少資料並一一解決。下面進行講解。有不全面的地方以後會一一補充。

1. 參考文章及相關資源:

在配置的時候是參考了一篇部落格進行安裝的,但遇到了部分自己的問題那篇部落格並沒有提到,所以自己準備寫一下。部落格地址

本人使用的是win8的系統,VS2015版和OpenCV3.1.0.。VS2015可自行下載安裝,下載地址
同時這裡分享一個破解軟體。可做一些某公司的軟體註冊啟用等工作,大家懂的,啟用工具及驅動精靈:連結:http://pan.baidu.com/s/1c67442

密碼:yove 。
OpenCV相應版本軟體可以去網盤下載。OpenCV3.10。這裡給出我的網盤連結:http://pan.baidu.com/s/1c1XX8ju 密碼:nx82. 檔名為opencv-3.1.0。

2. 環境變數

下載之後安裝檔案。安裝過程即解壓過程。在這裡我解壓到E:\InstallingTools\OpenCv目錄下。
解壓完成後配置一下環境變數,此處就貼上一下上一篇部落格的幾張圖片,網上有很多關於配置環境變數的教程,免得麻煩大家去找,這裡就盜一下圖:

右鍵我的電腦->屬性->高階系統設定:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
即開啟Path的編輯後,在末尾加上一個英文的分號,再加上E:\InstallingTools\OpenCv\build\x64\vc14\bin (前面的絕對路徑根據自己的解壓路徑修改)。

3. 新建工程

完成這一步之後。開啟VS,新建c++的空白工程,檔案->新建->專案->Visual C++新建Win32控制檯專案。
這裡接著盜圖:
這裡寫圖片描述
這裡寫圖片描述

新建完成後,在VS窗口裡面會看到:
這裡寫圖片描述

先將這裡改成X64,不然後面會出錯,預設是x86,由於是64位系統,需要先修改一下。
這裡寫圖片描述

然後右鍵“Test2”屬性,開啟屬性頁:
這裡寫圖片描述

首先點選VC++項,進入包含目錄的編輯框:
這裡寫圖片描述

接著是庫目錄:
這裡寫圖片描述

確定後,點選連結器,輸入:在附加依賴項中新增一項:opencv_worl310.lib,注意,在前面提到的那篇部落格中,輸入的是opencv_world310d.lib,這種的設定是debug模式,但在執行過程中,會報缺失msvcp120d.dll的錯誤,我在這裡卡了很久,下載該dll檔案安裝還收出錯。後來試了才找到原因。至於為什麼是這樣,我也沒弄清楚。
這裡寫圖片描述


這裡寫圖片描述

至此,配置部分就完成了。

下面右鍵專案“原始檔”,建立main.cpp
這裡寫圖片描述

程式碼如下:

                #include<opencv2\opencv.hpp>
                using namespace cv;
                int main()
                {
                        Mat picture = imread("E:\\VS2015Workspace\\Lena (2).jpg");
                        //圖片必須新增到工程目下
                        //也就是和test.cpp檔案放在一個資料夾下!!!
                        imshow("測試程式", picture);
                        waitKey(20150901);
                }

注意修改圖片檔案的路徑。
點選“本地Windows偵錯程式”除錯執行即可。
這裡寫圖片描述

至此,環境配置就完成,併成功地運行了一個demo.框架完成之後,你就可以寫自己的程式碼,新增自己的資料進行啦!!

4. 注意:

1.在配置過程中。會遇到“找不到opencv/opencv2.hpp”問題,這裡我出現這個問題的原因是當時把路徑弄錯了。三項配置分別是:
1.VC++ ->包含目錄
2.VC++ ->庫目錄
3.連結器 ->輸入 ->附加項
不要弄到別的裡面去了
2.連結器 ->輸入 ->附加項 裡面我因為寫入的是opencv_world310d.lib而不是opencv_world310.lib,而導致出現了msvcp120d.dll檔案缺失報錯。
3.需要把x86改寫成x64

第一次寫部落格,markdown裡面的語法什麼的都不是很清楚,所以確實不夠美觀。邏輯也不是很清楚。大家看內容就好,如果順利的話,後續還會繼續寫一些關於opencv影象識別方面的東西!