VS2015——opencv3.4.2扩展库安装
環(huán)境配置
本文是OpenCV3.4.2 在VS2015下的配置過程,用的是WIN10系統(tǒng)
用CMake的動(dòng)態(tài)鏈接庫配置
OpenCV3.4.2官方下載 8月29日已更新至3.4.2版本
VS2015自行下載
二1:opencv下載安裝
進(jìn)入OpenCV的官網(wǎng),選擇3.4.2的Sources版本進(jìn)行下載,
二2:CMake下載安裝
CMake-3.12.1官方下載
CMake的安裝教程
得到如下文件,其中1(OpenCV_VS2013_x64)是另外創(chuàng)建的文件夾,用于存放CMake生成的目標(biāo)解決方案
打開CMake,添加源碼和目標(biāo)文件夾路徑
打開已安裝好的CMake軟件
(1)添加解壓出的OpenCV-3.4.2文件夾絕對(duì)路徑(比如,我的絕對(duì)路徑是D:/OpenCV/opencv-3.4.2),
(2)添加自定義創(chuàng)建的OpenCV-3.3.0build的空文件夾,這里文件夾名稱為“OpenCV3.3_VS2015_x64”,
因?yàn)镺penCV版本是3.4,編譯器是VS2015,并且打算生成x64位的解決方案(比如,我的絕對(duì)路徑是D:/OpenCV/opencv_VS2015_x64)
Configure,配置相應(yīng)庫
點(diǎn)擊Finish,CMake開始對(duì)OpenCV源碼進(jìn)行配置生成并下載相應(yīng)函數(shù)庫,如ffmpeg,IPP等(此時(shí)需要等待若干分鐘)
當(dāng)?shù)谝淮蜟onfigure后,界面會(huì)出現(xiàn)紅色部分,這是為了讓用戶可以手動(dòng)補(bǔ)充相應(yīng)函數(shù)庫,如TBB、CUDA、Eigen等,
這里視你的需求而定,若需要其他庫,請(qǐng)自行下載相應(yīng)庫,并自行配置庫的include和lib
第一次配置OpenCV3.3,怕出現(xiàn)一些不必要的版本兼容問題,所以沒有額外添加庫,并且這里將CUDA的選項(xiàng)也注銷了,
即取消勾選WITH的WITH_CUDA
(第一次最好不要配置CUDA版本的OpenCV3.4.2,因?yàn)檩^復(fù)雜,若配置無CUDA版本的OpenCV3.3成功后,可以再配置CUDA版的)
再次點(diǎn)擊Configure,確保紅色畫面消失,如果紅色畫面一直未消失,請(qǐng)檢查WITH選項(xiàng),是否勾選了不必要的庫
二3:在VS中Install
(1) 當(dāng)多次Configure后(一般只需要2次),紅色界面完全消失,并出現(xiàn)Configuring done的提示。
(2) 此時(shí)請(qǐng)點(diǎn)擊Generate按鈕,生成相應(yīng)的解決方案,若出現(xiàn)Generating done的提示,即表明解決方案生成成功。
(3) 繼續(xù)點(diǎn)擊Open Project。此時(shí)CMake會(huì)自行啟動(dòng)Visual studio 2015軟件,打開上述生成的解決方案
二4:配置環(huán)境變量
在Visual studio 2015出現(xiàn)已上述生成的解決方案,進(jìn)行debug和Release下的配置Debug
(1) 右擊All_BUILD,選擇生成 。此時(shí)需要等待---時(shí)間視網(wǎng)速而定,
(2) 生成完成后,右擊INSTALL,選擇生成(會(huì)在自定義創(chuàng)建的OpenCV文件夾下生成一個(gè)install文件夾,包含了include和bin)
上述過程完成后,生成的是Debug版的動(dòng)態(tài)鏈接庫,此時(shí)還需要在Release下進(jìn)行生成
Release
換成release模式,與上述Debug步驟一致
1) 右擊All_BUILD,選擇生成 。此時(shí)需要等待很長(zhǎng)時(shí)間,大概半個(gè)小時(shí)
(2) 生成完成后,右擊INSTALL,選擇生成
自動(dòng)生成的install文件夾
二5:配置OpenCV3.4.2動(dòng)態(tài)鏈接庫
若要調(diào)用OpenCV3.4.2需要將bin絕對(duì)路徑,添加到系統(tǒng)環(huán)境變量中
我的bin絕對(duì)路徑為D:OpenCVOpenCV3.3OpenCV3.3_VS2013_x64installx64vc12in,如下圖所示,
該文件夾下有很多dll文件,其中帶d的表示Debug版,不帶d的表示Release版。配置動(dòng)態(tài)鏈接庫就是讓VS可以找到opencv的二進(jìn)制文件,dll文件
將bin絕對(duì)路徑,添加到系統(tǒng)環(huán)境變量中,如何找到“編譯環(huán)境變量”,可以自行百度或者參考下述界面來尋找
二6:檢測(cè)示例
寫一段測(cè)試代碼來檢驗(yàn)是否配置成功
(1) 創(chuàng)建新的Visual Studio工程
(2)配置工程
因?yàn)樯鲜錾傻氖荲isual Studio2015x64的動(dòng)態(tài)鏈接庫,不適用于x86的工程,所以需要配置x64的工程,操作如下
在屬性管理器中,添加新項(xiàng)目屬性頁,如選中并右擊,再選擇“新項(xiàng)目屬性頁”Debug
這里將新建的屬性頁命名為:OpenCV3.4.2_VS2015_Debug_x64
(a) include,為屬性頁的包含目錄添加include路徑,此時(shí)需要添加三個(gè)路徑,即x64文件夾下的include及其子文件夾的絕對(duì)路徑
D:OpenCVOpenCV3.3OpenCV3.3_VS2013_x64installinclude
D:OpenCVOpenCV3.3OpenCV3.3_VS2013_x64installincludeopencv
D:OpenCVOpenCV3.3OpenCV3.3_VS2013_x64installincludeopencv2
(b)lib,為屬性頁的庫目錄添加lib路徑,即D:OpenCVOpenCV3.4OpenCV3.3_VS2013_x64installx64vc12lib
并需要在屬性頁--鏈接器--輸入--附加依賴項(xiàng)中添加庫的名稱
注意OpenCV3.4.2的動(dòng)態(tài)鏈接庫如下,因?yàn)槭乾F(xiàn)在添加的是Debug版本,所以后綴帶d(只需要將下面lib文件名Copy一下)
添加內(nèi)容:(其實(shí)就是之前install/…/lib下的內(nèi)容)
opencv_aruco342d.lib
opencv_bgsegm342d.lib
opencv_bioinspired342d.lib
opencv_calib3d342d.lib
opencv_ccalib342d.lib
opencv_core342d.lib
opencv_datasets342d.lib
opencv_dnn342d.lib
opencv_dnn_objdetect342d.lib
opencv_dpm342d.lib
opencv_face342d.lib
opencv_features2d342d.lib
opencv_flann342d.lib
opencv_fuzzy342d.lib
opencv_hdf342d.lib
opencv_hfs342d.lib
opencv_highgui342d.lib
opencv_imgcodecs342d.lib
opencv_imgproc342d.lib
opencv_img_hash342d.lib
opencv_line_descriptor342d.lib
opencv_ml342d.lib
opencv_objdetect342d.lib
opencv_optflow342d.lib
opencv_phase_unwrapping342d.lib
opencv_photo342d.lib
opencv_plot342d.lib
opencv_reg342d.lib
opencv_rgbd342d.lib
opencv_saliency342d.lib
opencv_shape342d.lib
opencv_stereo342d.lib
opencv_stitching342d.lib
opencv_structured_light342d.lib
opencv_superres342d.lib
opencv_surface_matching342d.lib
opencv_text342d.lib
opencv_tracking342d.lib
opencv_video342d.lib
opencv_videoio342d.lib
opencv_videostab342d.lib
opencv_xfeatures2d342d.lib
opencv_ximgproc342d.lib
opencv_xobjdetect342d.lib
opencv_xphoto342d.lib
(c) bin,因?yàn)橹耙呀?jīng)在系統(tǒng)環(huán)境變量中添加了bin文件夾路徑,所以不需要再添加
Release
在屬性管理器中的Release|x64,新建一個(gè)屬性頁命名為:OpenCV3.3_VS2013_Release_x64
下述操作和Debug類似,但庫文件名稱不一致,因?yàn)椴缓琩
(a)include,為屬性頁的包含目錄添加include路徑,此時(shí)需要添加三個(gè)路徑,即x64文件夾下的include及其子文件夾的絕對(duì)路徑
D:OpenCVopencv_VS2015_x64installinclude
D:OpenCVopencv_VS2015_x64installincludeopencv
D:OpenCVopencv_VS2015_x64installincludeopencv2
(b)lib,為屬性頁的庫目錄添加lib路徑,即D:OpenCVopencv_VS2015_x64installx64vc14lib
并需要在屬性頁--鏈接器--輸入--附加依賴項(xiàng)中添加庫的名稱
注意OpenCV3.4.2的動(dòng)態(tài)鏈接庫如下,因?yàn)槭乾F(xiàn)在添加的是Debug版本,所以后綴帶d(只需要將下面lib文件名Copy一下)
添加內(nèi)容:(其實(shí)就是之前install/…/lib下的內(nèi)容)
opencv_aruco342d.lib
opencv_bgsegm342d.lib
opencv_bioinspired342d.lib
opencv_calib3d342d.lib
opencv_ccalib342d.lib
opencv_core342d.lib
opencv_datasets342d.lib
opencv_dnn342d.lib
opencv_dnn_objdetect342d.lib
opencv_dpm342d.lib
opencv_face342d.lib
opencv_features2d342d.lib
opencv_flann342d.lib
opencv_fuzzy342d.lib
opencv_hdf342d.lib
opencv_hfs342d.lib
opencv_highgui342d.lib
opencv_imgcodecs342d.lib
opencv_imgproc342d.lib
opencv_img_hash342d.lib
opencv_line_descriptor342d.lib
opencv_ml342d.lib
opencv_objdetect342d.lib
opencv_optflow342d.lib
opencv_phase_unwrapping342d.lib
opencv_photo342d.lib
opencv_plot342d.lib
opencv_reg342d.lib
opencv_rgbd342d.lib
opencv_saliency342d.lib
opencv_shape342d.lib
opencv_stereo342d.lib
opencv_stitching342d.lib
opencv_structured_light342d.lib
opencv_superres342d.lib
opencv_surface_matching342d.lib
opencv_text342d.lib
opencv_tracking342d.lib
opencv_video342d.lib
opencv_videoio342d.lib
opencv_videostab342d.lib
opencv_xfeatures2d342d.lib
opencv_ximgproc342d.lib
opencv_xobjdetect342d.lib
opencv_xphoto342d.lib
OpenCV測(cè)試Demo
在寫代碼前,先準(zhǔn)備一張圖像,保存在工程目錄下,如xxxOpenCV3.3OpenCV3.3_TestDemo
在上述工程中新建demo.cpp文件,添加下述代碼
#include <opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
cout << "OpenCV Version: " << CV_VERSION << endl;
Mat img = imread("img.jpg");
imshow("img",img);
waitKey(0);
return 0;
}
運(yùn)行結(jié)果
(1) 輸出OpenCV的版本號(hào)
(2) 顯示出輸入的圖像
注: 分別在Debug和Release下運(yùn)行,若都能正常運(yùn)行,即表明OpenCV3.4.2配置成功
總結(jié)
以上是生活随笔為你收集整理的VS2015——opencv3.4.2扩展库安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 余敖的实验整理(还没完成)
- 下一篇: ETC1