WIN10+VS2015+opencv3.4.4+opencv_contrib-3.4.4環境配置

1、原料:

  • 裝好的win10系統;
  • 裝好的VS2015;
  • 下載cmake並安裝

鏈接:https://pan.baidu.com/s/1Dr9epaWRz-n34I8QAhxrNA 
提取碼:ez6e 
複製這段內容後打開百度網盤手機App,操作更方便哦

  • opencv官網下載的opencv3.4.4源碼和擴展模塊opencv_contrib-3.4.4(如sift、surf特徵提取等部分在此模塊中)解壓在一個文件夾:

contrib庫:https://github.com/opencv/opencv_contrib/releases

opencv版本:https://opencv.org/releases.html

我下載的:

https://github.com/opencv/opencv/releases/tag/3.4.4)中的Source code

https://github.com/opencv/opencv_contrib/releases/tag/3.4.4)中的Source code

2、傻瓜式安裝cmake(注:選好自己所要安裝的路徑(隨意路徑))

3、重點來了:用cmake編譯opencv3.4.4源碼和擴展模塊源碼,然後在VS2015中安裝和配置opencv3.4.4

  • 用cmake編譯opencv3.4.4源碼和擴展模塊源碼

雙擊打開cmake,如下圖:在where is the source code中輸入opencv3.4.4源碼的解壓路徑,在where to bulid the binaries 中輸入自己隨意新建的某路徑(編譯後的opencv就在此路徑中),點擊下方的configure,彈出圖3所示(選擇需和圖3同,所選的是64位--僅可用於VS的64位下的Debug和release,32位需選擇相應的選項),點擊finish開始配置環境完成後出現圖4 configuring done。

圖1

圖2圖3

圖4

接下來,需要將擴展模塊opencv_contrib-3.4.4放入其中一起進行編譯,如下圖5,在OPENCV_EXTRA_MODULES_PATH中加入opencv_contrib-3.4.4所在的解壓路徑的modules路徑(我的是D:\ruanjian\opencv\opencv_contrib-3.4.4\modules),並勾選OPENCV_ENABLE_NONFREE(否則擴展模塊中有些功能不能用,具體參考https://blog.csdn.net/zhoukehu_CSDN/article/details/83145026)。設置好後再次點擊左下方的Configure進行配置。

圖6

等到配置好後可看到沒有紅色部分,之後點擊緊挨Configure的Generate按鈕開始編譯生成,等待出現圖7即編譯opencv全部完成完成。

圖7

  • 在VS2015中安裝opencv3.4.4

在上一部分編譯生成的路徑中(即在cmake中where to bulid the binaries一欄輸入路徑出現圖8的OpenCV.sln(可用VS2015打開的工程),用裝好的VS2015打開此文件。

圖8

在解決方案中可以查看工程目錄,在圖9中選擇Debug或者release(看自己),和x64(必須),然後在CMakeTargets中有ALL_BUILD和INSTALL兩項,然後選中ALL_BUILD右鍵可看到重新生成,左鍵點擊重新生成,等待生成完成;之後選中INSTALL右鍵------僅用於項目(J)------左鍵點擊僅生成INSTALL(B),等待安裝完成後即得到可在VS中配置的opencv3.4.4版本(where to bulid the binaries一欄輸入的路徑的install中,我的是D:\ruanjian\opencv\opencv3.4.4_VSx64\install)。

圖9

  • 在VS2015中配置上一步得到的opencv(我的是在D:\ruanjian\opencv\opencv3.4.4_VSx64\install中)

(1)右鍵   我的電腦---屬性----高級系統設置----環境變量-----系統變量-----Path-----編輯------新建------輸入上一步得到的opencv的x64\vc14\bin目錄(我的是D:\ruanjian\opencv\opencv3.4.4_VSx64\install\x64\vc14\bin)

(2)在VS中新建工程:文件-----新建-------項目-------win32控制檯項目/MFC項目/..都可。如圖10,找到此項目的屬性管理器,選中Debug | x64(因爲上一步安裝opencv時選擇的是Debug x64)右鍵新建屬性表並隨意命名(我的是PropertySheet_QT_opencv3.4.4_64debug),雙擊此屬性表(此屬性表可在另外新建的工程中調用,這樣就不用反覆配置),出現圖11。

圖10

我們需要在  VC++目錄-----包含目錄 &  庫目錄    及     鏈接器-------輸入   中進行配置,然後確定-----確定------確定。

圖11

VC++目錄-----包含目錄:加入上一部分得到的opencv的include目錄,及include\opencv,和include\opencv2路徑,我的如下:

D:\ruanjian\opencv\opencv3.4.4_VSx64\install\include

D:\ruanjian\opencv\opencv3.4.4_VSx64\install\include\opencv

D:\ruanjian\opencv\opencv3.4.4_VSx64\install\include\opencv2

VC++目錄----- 庫目錄:加入上一部分得到的opencv的x64\vc14\lib目錄,我的如下:

D:\ruanjian\opencv\opencv3.4.4_VSx64\install\x64\vc14\lib

鏈接器-------輸入:加入   VC++目錄----- 庫目錄中路徑下的所有lib文件,我的如下(debug版,release版344後沒有d):

opencv_aruco344d.lib
opencv_bgsegm344d.lib
opencv_bioinspired344d.lib
opencv_calib3d344d.lib
opencv_ccalib344d.lib
opencv_core344d.lib
opencv_datasets344d.lib
opencv_dnn_objdetect344d.lib
opencv_dnn344d.lib
opencv_dpm344d.lib
opencv_face344d.lib
opencv_features2d344d.lib
opencv_flann344d.lib
opencv_fuzzy344d.lib
opencv_hfs344d.lib
opencv_highgui344d.lib
opencv_img_hash344d.lib
opencv_imgcodecs344d.lib
opencv_imgproc344d.lib
opencv_line_descriptor344d.lib
opencv_ml344d.lib
opencv_objdetect344d.lib
opencv_optflow344d.lib
opencv_phase_unwrapping344d.lib
opencv_photo344d.lib
opencv_plot344d.lib
opencv_reg344d.lib
opencv_rgbd344d.lib
opencv_saliency344d.lib
opencv_shape344d.lib
opencv_stereo344d.lib
opencv_stitching344d.lib
opencv_structured_light344d.lib
opencv_superres344d.lib
opencv_surface_matching344d.lib
opencv_text344d.lib
opencv_tracking344d.lib
opencv_video344d.lib
opencv_videoio344d.lib
opencv_videostab344d.lib
opencv_xfeatures2d344d.lib
opencv_ximgproc344d.lib
opencv_xobjdetect344d.lib
opencv_xphoto344d.lib

至此,全部完成。

4、測試

在上一步配置好的工程的Source Files中右鍵   添加---新建項----C++文件(.cpp),然後在此文件中輸入如下內容:

#include<opencv2/opencv.hpp>

using namespace cv;

void main()

{

Mat srcImg=imread("1.jpg");//注意輸入絕對路徑時,要用左斜槓(/),否則出錯

imshow("image",srcImg);//顯示圖像

waitKey(0);//等待任意按鍵按下

}

然後保存,點擊   本地Windows調試器,這樣就可以看到美美的圖片啦 #^-^#

 

也可嘗試在opencv3.4.4源碼的...\samples\cpp中的一些例子,注意這些例子中的main(int argc,char *argv[],char **env)中的參數,參見下一篇,我們下篇見~

5、注意:

cmake中在配置環境時出現問題,

可參考以下文章:

https://www.cnblogs.com/ilym/p/8626763.html

https://blog.csdn.net/z137628817/article/details/70159043

有關nonfree文件,可參考:

https://blog.csdn.net/zhoukehu_CSDN/article/details/83145026

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章