VS2013配置OpenCV3.4.0
首先,結(jié)尾有彩蛋。
我筆記本安裝的是win7+ubuntu14.04雙系統(tǒng),最近想使用windows上的vs+opencv測(cè)試一些程序,因?yàn)榭凑撐牡男枰€是使用win比較方便,最近嘗試人體檢測(cè),使用Yolo的方法,要求opencv版本在3.4以上,所以只好重新配置opencv。
在這里我主要參照的是這篇博客
關(guān)于vs2013+opencv3.4.0只要百度會(huì)出現(xiàn)很多教程,在這里我主要記錄一下我配置過(guò)程中遇到的問(wèn)題,以便今后查閱。
2018.7.15更新部分:
經(jīng)驗(yàn)教訓(xùn):要安裝opencv就要安裝全,否則就會(huì)像我一樣沒(méi)完沒(méi)了重新安裝
安裝opencv3.4.0+contrib,注意opencv版本和conrib版本必須完全一致。
準(zhǔn)備的工具:cmake,opencv3.4.0,opencv3.4.0-contrib
cmake下載鏈接
opencv3.4.0可以在官網(wǎng)上下載
opencv3.4.0-contrib可以在此鏈接下載
一 Cmake工具編譯OpenCV源碼
首先在opencv官網(wǎng)要使用選擇opencv源碼版(Sources)下載,解壓,在這里,選擇源碼編譯的原因是我們要安裝opencv3.4.0+opencv3.4.0_contrib。
然后下載cmake 鏈接:https://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.zip
? ? 然后將解壓后的文件放在自己建立的opencv文件夾內(nèi),并在文件夾內(nèi)建立cmake要用到的build文件夾,在這里命名為opencv-3.4.0_vs2013_x64, 如下圖所示:
將解壓后的opencv3.4.0_contrib也放到opencv目錄中。
然后打開(kāi)cmake,在/bin下雙擊cmake-gui.exe對(duì)opencv源碼進(jìn)行編譯,source code的路徑選擇選擇opencv源碼所在的路徑,在這里我的路徑是:E:\opencv-3.4.0\opencv-3.4.0,where to buid的路徑選擇剛才新建的build文件夾,在這里我的路徑是:E:\opencv-3.4.0\opencv-3.4.0_vs2013_x64。
在search部分搜索:OPENCV_EXTRA_MODULES_PATH,在后面的路徑上添加上自己下載的<opencv_contrib>/modules的路徑,例如,我的路徑是:?E:\opencv-3.4.0\opencv_contrib-3.4.0\modules
點(diǎn)擊Configure按鈕開(kāi)始編譯,之后會(huì)如下圖所得示,顯示一些編譯選項(xiàng),網(wǎng)上大部分教程都建議取消勾選with_cuda選項(xiàng),對(duì)此我想到以前在Nvida jetson TX1上安裝opencv同樣遇到了opencv與TX1系統(tǒng)自帶的cuda沖突的問(wèn)題,一定要在cmake選項(xiàng)中關(guān)閉編譯cuda,所以在這里我們同樣關(guān)閉with_cuda。
再次點(diǎn)擊Configure后下方顯示configure done,然后點(diǎn)擊Generate,下方顯示Gernerate done,然后點(diǎn)擊Open Project會(huì)啟動(dòng)vs2013。到這里opencv的編譯工作接完成了。
?
二 使用VS編譯
在編譯生成完成后,就可以打開(kāi)vs生成.dll動(dòng)態(tài)鏈接庫(kù)了。
編譯完成后,在build問(wèn)價(jià)夾中,也就是我們的opencv3.4.0_vs2013_x64文件夾中找到OpenCV.sln,使用vs打開(kāi)。
在解決方案管理器上右鍵點(diǎn)擊:重新生成解決方案(需要等待很長(zhǎng)一段時(shí)間)
然后在CmakeTarget中找到INSTALL,右鍵->僅用于項(xiàng)目->生成
在這里需要注意的是把debug和release都編譯一遍。
?
三 配置VS2013
在點(diǎn)擊Open Project按鈕后 ,打開(kāi)的vs界面如下圖所示,在這里我忘記截圖了,所以借用該博客的圖和步驟來(lái)說(shuō)明一下,具體步驟這篇大神的文章已經(jīng)給說(shuō)的很詳細(xì)了,這篇文章配置的是opencv3.3.0,配置3.4.0時(shí),步驟也基本相同。
這里需要記錄的就是按上述步驟完成配置后,測(cè)試打開(kāi)圖片的程序,會(huì)出現(xiàn)類似如下圖所示的錯(cuò)誤:
在這里我們會(huì)需要將E:\opencv-3.4.0\opencv-3.4.0_vs2013_x64\bin\Debug路徑下所有*d.dll文件都復(fù)制到C:\Windows\System32路徑下,親測(cè)可以解決該問(wèn)題。
接下來(lái)我在測(cè)試打開(kāi)圖片的程序中會(huì)遇到如下報(bào)錯(cuò):OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow
在網(wǎng)上查找之后找到解決辦法那就是需要在要打開(kāi)的圖片前加上絕對(duì)路徑,即使圖片就在工程文件夾下也不行,在這里附上測(cè)試程序源碼:
#include<iostream> #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() {Mat image = imread("E:\\vsprogram\\Opencv3.4.0_TestDemo\\img.jpg",1);imshow("img", image);waitKey(0);return 0; }試程序運(yùn)行成功如下圖所示:
?
參考鏈接:
https://blog.csdn.net/hust_bochu_xuchao/article/details/78952481
https://blog.csdn.net/qq_16761599/article/details/78212751
在這里附加opencv3.4.1的debug和release版本的動(dòng)態(tài)依賴庫(kù)(注意本文中配置的是opencv3.4.0,下面的動(dòng)態(tài)庫(kù)是opencv3.4.1)
debug
opencv_aruco341d.lib
opencv_bgsegm341d.lib
opencv_bioinspired341d.lib
opencv_calib3d341d.lib
opencv_ccalib341d.lib
opencv_core341d.lib
opencv_datasets341d.lib
opencv_dnn_objdetect341d.lib
opencv_dnn341d.lib
opencv_dpm341d.lib
opencv_features2d341d.lib
opencv_flann341d.lib
opencv_fuzzy341d.lib
opencv_hfs341d.lib
opencv_highgui341d.lib
opencv_imgcodecs341d.lib
opencv_imgproc341d.lib
opencv_ml341d.lib
opencv_objdetect341d.lib
opencv_optflow341d.lib
opencv_phase_unwrapping341d.lib
opencv_photo341d.lib
opencv_plot341d.lib
opencv_reg341d.lib
opencv_rgbd341d.lib
opencv_saliency341d.lib
opencv_shape341d.lib
opencv_stereo341d.lib
opencv_stitching341d.lib
opencv_structured_light341d.lib
opencv_superres341d.lib
opencv_surface_matching341d.lib
opencv_text341d.lib
opencv_video341d.lib
opencv_videoio341d.lib
opencv_videostab341d.lib
opencv_xfeatures2d341d.lib
opencv_ximgproc341d.lib
opencv_xobjdetect341d.lib
opencv_xphoto341d.lib
release
opencv_aruco341.lib
opencv_bgsegm341.lib
opencv_bioinspired341.lib
opencv_calib3d341.lib
opencv_ccalib341.lib
opencv_core341.lib
opencv_datasets341.lib
opencv_dnn_objdetect341.lib
opencv_dnn341.lib
opencv_dpm341.lib
opencv_features2d341.lib
opencv_flann341.lib
opencv_fuzzy341.lib
opencv_hfs341.lib
opencv_highgui341.lib
opencv_imgcodecs341.lib
opencv_imgproc341.lib
opencv_ml341.lib
opencv_objdetect341.lib
opencv_optflow341.lib
opencv_phase_unwrapping341.lib
opencv_photo341.lib
opencv_plot341.lib
opencv_reg341.lib
opencv_rgbd341.lib
opencv_saliency341.lib
opencv_shape341.lib
opencv_stereo341.lib
opencv_stitching341.lib
opencv_structured_light341.lib
opencv_superres341.lib
opencv_surface_matching341.lib
opencv_text341.lib
opencv_video341.lib
opencv_videoio341.lib
opencv_videostab341.lib
opencv_xfeatures2d341.lib
opencv_ximgproc341.lib
opencv_xobjdetect341.lib
opencv_xphoto341.lib
總結(jié)
以上是生活随笔為你收集整理的VS2013配置OpenCV3.4.0的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 你需要来自TrustedInstalle
- 下一篇: Character controller