這篇文章適合給剛開始配置opencv 在visual studio 環境的讀者,剛開始的時候搞得昏頭轉向,各種錯誤,經由慢慢地除錯之後現在已經可以很熟練了
- Visual studio 版本: vs2013
- OpenCV 版本: 2.4.9
內容目錄
確認VS版本 與 VC版本
首先要先確認VS版本 與 VC版本 的對應關係,這樣才知道安裝的時候要選哪個資料夾,我的版本為vs2013因此挑選的都是vc12資料夾所build出來的東西
Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Visual Studio 2017 : vc15

確認opencv 對 VC版本 的支援情況
剛開始什麼都不知道因此胡亂安裝一通,原來vc還有各自對應的opencv版本,裝最新版本頻頻報錯只能從頭再降回有支援的版本
opencv 2.4.10 == vc10、vc11、vc12
opencv 2.4.13 == vc11、vc12
opencv 3.4.0 == vc11、vc12
opencv 3.4.1 == vc14、vc15
確認要64位元 or 32 位元
x86: 32 位元
x64: 64 位元
這裡選定的資料夾必須與Debug中的組態管理員一致,我這邊選擇的都是64位元
設置環境變數
決定好要安裝的版本之後就可以去官網下載對應的程式碼,解壓縮後把bin資料夾設置為環境變數如下圖所示

開啟專案配置VS
首先開啟一個新專案,選定好要儲存的位置與名稱,這裡通常都是選擇win32主控台應用程式
之後再專案名稱按右鍵選擇屬性
總共有四個地方要改變
VC++ 目錄
- include 目錄: …\opencv\build\include
- 程式庫目錄: …\opencv\build\x64\vc12\bin
連結器
- 一般: …\opencv\build\x64\vc12\lib
- 輸入: lib資料夾裡面的.lib檔案
opencv_core249d.lib
opencv_imgproc249d.lib
opencv_highgui249d.lib
opencv_ml249d.lib
opencv_video249d.lib
opencv_features2d249d.lib
opencv_calib3d249d.lib
opencv_objdetect249d.lib
opencv_contrib249d.lib
opencv_legacy249d.lib
opencv_flann249d.lib


測試程式碼
之後就可以複製貼上下列程式碼測試opencv環境有沒有問題,沒錯的話就會跑出一張圖出來
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
Mat img = imread("lena.jpg", -1);
if (img.empty()) return -1;
namedWindow("HelloCV", WINDOW_AUTOSIZE);
imshow("HelloCV", img);
waitKey(0);
destroyWindow("HelloCV");
return 0;
}
參考資料
http://pinman-serendipity.blogspot.com/2015/09/opencv-30-win10-visual-studio-2013.html
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/617825/
https://opencv.org/
test