這里假設看到這篇文章的人都已經對OpenCV以及機器視覺等最基礎的概念有了一定的認識,因此本文不會對OpenCV做任何的介紹,而是直接介紹OpenCV2.4.9的安裝與測試。此外本文只是簡單的介紹如何配置OpenCV,目的是在最短的時間里將開發環境配置出來。至於詳細的配置思路,網上實在太多,百度一下類似:VS2012+openCV2.4.9就能找到你想要的結果。
一、環境篇
首先簡單的介紹一下使用的開發環境,本文將在Windows8.1平台下使用VS2012開發C++程序,所使用的OpenCV版本為2.4.9。
從http://opencv.org/ 下載了2.4.9版本后,將其解壓到合適的路徑。此處本人將其解壓到了E:\openCV\2.4.9中,解壓后的文件結構應該是這樣的。
二、開始配置
環境的配置分為幾個方面
-
環境變量配置;
-
VS中【包含目錄】、【引用目錄】、【庫目錄】的添加;
-
VS中【連接器】->【輸入】中附加依賴項。
那么接下來就開始配置開發環境,首先確定OpenCV的目錄為E:\openCV\2.4.9(或者你自己設定的目錄)。
2.1 環境變量配置
在計算機的【系統屬性】->【環境變量】->【系統變量】中
將"E:\OpenCV\2.4.9\build\x86\vc11\bin"添加至末尾,如果你的解壓路徑與我不同,請參考着修改,如圖所示。
2.2 【包含目錄】、【引用目錄】、【庫目錄】的添加
打開VS2012,任意創建一個C++工程。在項目的【屬性管理器】中,找到"MicroSoft.Cpp.Win32.user",右擊其選擇屬性(這里有Debug和Release兩個目錄中都有"MicroSoft.Cpp.Win32.user",記得都要添加)。如果找不到【屬性管理器】,在【視圖】->【其他窗口】->【屬性管理器】中打開。
在打開的屬性頁中,找到【VC++目錄】,在其中的【包含目錄】和【庫目錄】中添加以下路徑,如圖所示(記得Debug和Release都要添加這些路徑):
包含目錄:
E:\OpenCV\2.4.9\build\include;
E:\OpenCV\2.4.9\build\include\opencv;
E:\OpenCV\2.4.9\build\include\opencv2;
庫目錄:
E:\OpenCV\2.4.9\build\x86\vc11\lib;
2.3 依賴項的添加
同樣是在MicroSoft.Cpp.Win32.user屬性頁中,找到【鏈接器】->【輸入】。在【輸入】中的【附加依賴項】中,添加以下代碼:
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_ml249d.lib opencv_objdetect249d.lib opencv_ts249d.lib opencv_video249d.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 opencv_objdetect249.lib opencv_ts249.lib opencv_video249.lib
如圖所示:
如此就完成了開發環境的配置。
三、測試程序
新建一個C++ Win32控制台程序,輸入以下代碼,運行,可得結果。
1 #include "stdafx.h" 2 #include "cv.h" 3 #include "highgui.h" 4 #include <opencv2/core/core.hpp> 5 #include <iostream> 6 using namespace std; 7 using namespace cv; 8 9 int _tmain(int argc, _TCHAR* argv[]) 10 { 11 Mat img = imread("D:\\testImg\\boldt.jpg"); 12 cv::namedWindow("win1"); 13 moveWindow("win1",200,200); 14 cv::imshow("win1",img); 15 waitKey(); 16 }
四、【丟失MSVCP110.DLL】
運行程序后可能提示【丟失MSVCP110.DLL】的錯誤,這個問題只需安裝各個版的vcredist即可(因為忘記具體是哪一個版本了,所以這里說各個版本,可能是2012版的)。