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發行版官網
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-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"的圖片檔案
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內部配置了庫和庫路徑,之後新建工程時也不用重新再配,但個人覺得這種便宜的方式不太好,具體自行體會,最後祝大家心想事成!!