1. 程式人生 > >OpenCV3.4.1+VS2017安裝教程(WINDOWS10)

OpenCV3.4.1+VS2017安裝教程(WINDOWS10)

簡介

筆者藉助某位大神的部落格點選開啟連結通過CMake方式安裝配置OpenCV3.4.1(2018-5-31),但最終執行Demo程式時沒能達到預期效果,經過一番除錯終於成功(備註:這位大神的安裝OpenCV時的過程是沒有問題的,值是新建工程Demo時沒有考慮到例如不同版本帶來的一些細節問題),於是決定寫一份較為詳細的教程

筆者安裝環境

Win10 x64

Visual Studio 2017

下載安裝OpenCV

1. 安裝CMake工具

1)說明:相當於一個由OpenCV源壓縮包配置OpenCV的輔助工具,當然也有直接安裝OpenCV的方法,筆者沒試過故不談。

2. 下載OpenCV

進入OpenCV發行版官網

,點選Sources就會彈出"opencv-3.4.1.zip"下載視窗,下載完畢就可以準備安裝

3.安裝OpenCV

由於按照大神部落格安裝沒什麼大問題,此處我就偷懶直接貼連結了,但仍有以下要注意的地方

    1)注意安裝OpenCV的版本和電腦的Visual Studio版本!!!

    2)配置系統環境變數時一定要注意該路徑下是否都有結尾帶d (Debug)和不帶d(Release)的dll檔案,例如筆者對應的路徑就沒有帶d的           dll檔案

        此時可以直接去“...\opencv-3.4.1_VS2017_x64(這個資料夾是自建的,具體看大神部落格)\bin\"路徑下檢視會發現有Debug和Release兩個資料夾, 開啟資料夾會發現所有dll檔案都在這兩資料夾裡面,因此係統環境變數最好是包含兩個檔案,也可以直接把檔案複製到你想要包含的資料夾,別太奇葩就行。

OpenCV測試示例

1. 新建Visual Studio工程

新建C++空專案(這個應該沒什麼好說的把),並把工程配置成x64

2.配置屬性頁

1)Debug

  開啟屬性管理器(頂部選單欄的檢視-其他視窗-屬性管理器)


      右擊" Debug|x64"新增新專案屬性表, 命名為如"OpenCV3.4.1_VS2017_Debug_x64",上圖是我已經建立好的,然後點選新增然後再右擊你新建好的屬性表,新增包含目錄和庫目錄,

包含目錄有三個

...\opencv-3.4.1_VS2017_x64\install\include

..\opencv-3.4.1_VS2017_x64\install\include

\opencv

..\opencv-3.4.1_VS2017_x64\install\include\opencv2

而庫目錄筆者建議選擇"...\opencv-3.4.1_VS2017_x64\lib\Debug",就是一定要包含帶d的.lib檔案,筆者按照大神部落格選擇的目錄是沒有帶d的,lib檔案的,這足足坑了我一會,,,

然後"OpenCV3.4.1_VS2017_Debug_x64屬性頁"視窗中點選"連結器-輸入",新建附加依賴項,把上文看到的lib檔案的名字都複製進去

注意不同OpenCV版本的lib名字不一樣,OpenCV3.4.1如下,如果版本不同就得一個一個把名字複製到記事本再貼上了,注意換行

opencv_calib3d341d.lib
opencv_core341d.lib
opencv_dnn341d.lib
opencv_features2d341d.lib
opencv_flann341d.lib
opencv_highgui341d.lib
opencv_imgcodecs341d.lib
opencv_imgproc341d.lib
opencv_ml341d.lib
opencv_objdetect341d.lib
opencv_photo341d.lib
opencv_shape341d.lib
opencv_stitching341d.lib
opencv_superres341d.lib
opencv_ts341d.lib
opencv_video341d.lib
opencv_videoio341d.lib
opencv_videostab341d.lib

此時Debug模式就配置好了,然後就已經可以Debug模式測試Demo了,新建"Demo.cpp"檔案,複製一下程式碼,

#include <opencv.hpp>  
#include <iostream>  
using namespace cv;
using namespace std;

int main()
{
	cout << "OpenCV Version: " << CV_VERSION << endl;
	Mat img = imread("1440.jpg");
	imshow("1440", img);
	waitKey(0);
	return 0;
}

並在工程目錄下放入一張如名為"1440"的圖片檔案


選擇Debug-x64應該就能執行成功了2) Release儘管Debug模式配置好了可以執行,但先別激動,還是得把Release版本配置好,方法同Debug,新建屬性頁,配好包含目錄(與Debug的目錄完全相同),庫目錄(與Debug有區別!!,找到結尾不帶d的.lib檔案),和附加依賴項(與Debug有區別!!,下文貼出OpenCV3.4.1的Release附加依賴項)注意執行程式時要改成Release!!opencv_calib3d341.lib
opencv_core341.lib
opencv_dnn341.lib
opencv_features2d341.lib
opencv_flann341.lib
opencv_highgui341.lib
opencv_imgcodecs341.lib
opencv_imgproc341.lib
opencv_ml341.lib
opencv_objdetect341.lib
opencv_photo341.lib
opencv_shape341.lib
opencv_stitching341.lib
opencv_superres341.lib
opencv_ts341.lib
opencv_video341.lib
opencv_videoio341.lib
opencv_videostab341.lib
3)另一種一勞永逸但個人覺得不好的配置方式   即不用新建工程,直接配置現有的"Microsoft.Cpp.x64.user"("Debug|x64"或"Release|x64"隨便選,配置了一個另一個也會跟著變),把Debug和Release的包含目錄、庫目錄和附加依賴項都加進去,這樣相當於給VS內部配置了庫和庫路徑,之後新建工程時也不用重新再配,但個人覺得這種便宜的方式不太好,具體自行體會,最後祝大家心想事成!!