Win10+VS2015+opencv3.4.1+cuda8.0配置


參考CSDN文章https://blog.csdn.net/qq_15947787/article/details/78534272

參考簡書文章https://www.jianshu.com/p/5520fdb6dbae?from=singlemessage

此文作者說 通過查看cuda官方手冊,目前Cuda支持的VS工具集只有15.0和15.6,但是新下載的VS2017一般都是15.7,因此會出現無法編譯的情況


VS2017最新版和CUDA坑爹的兼容性,試了好多次都失敗了 ,以下配置為vs2017下的截圖 但在vs2015步驟完全一樣。

走了一天的坑,最后放棄了使用vs2017從而下載vs015

VS2015 專業版下載鏈接
http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso

VS2015 企業版下載鏈
http://download.microsoft.com/download/B/8/F/B8F1470D-2396-4E7A-83F5-AC09154EB925/vs2015.ent_chs.iso

VS2015 社區版下載鏈接
http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso

在opencv中sift、surf等一些算法被去除,使用modules不再是默認安裝的,它們均被集中在opencv_contrib中,在配置OpenCV時需要同OpenCV源碼一塊編譯,需要重新下載並進行編譯,下載contrib鏈接  https://github.com/opencv/opencv_contrib

因為要使用opencv中的GPU對程序進行加速  所以需要下載cuda,可以cuda官網查看與自己,這里我下載的是cuda8.0

此外還需要下載CMake編譯工具對opecv庫重新進行編譯 加入GPU支持和一些額外的模塊庫

下載好CMake、OpenCV庫、cuda和opecv_contrib后打開CMake

在Where is the source code里面選擇opencv文件目錄下的sources文件夾

在opencv文件目錄下創建build-vs2017(文件名可以自己命名)

在Where to build the binaries里面選擇該文件夾用於存放編譯后的二進制文件

 點擊Configure出現下面信息證明配置完成(如果報錯:No CMAKE_CXX_COMPILER could be found一類的錯誤信息證明vs2015模塊不全 可查看這篇文章https://blog.csdn.net/u013832707/article/details/53127710)

查看WITH_CUDA是否被選中(默認被選中)

在如下選擇opecv額外模塊庫的文件夾位置D:/opencv3.4.1/opencv_contrib-3.4.1/modules,最好通過后面的...進行添加,如果直接復制路徑的話子文件夾用\分割 這里的是/分割(這里遇到了一個坑)

 然后再次選擇Configure

 

Configure Done后選擇Generate

點擊OpenProject或者build-vs2017下的OpenCV.sln

 點擊重新生成解決方案

 

opencv_aruco341d.lib
opencv_bgsegm341d.lib
opencv_bioinspired341d.lib
opencv_calib3d341d.lib
opencv_ccalib341d.lib
opencv_core341d.lib
opencv_cudaarithm341d.lib
opencv_cudacodec341d.lib
opencv_cudafeatures2d341d.lib
opencv_cudafilters341d.lib
opencv_cudaimgproc341d.lib
opencv_cudalegacy341d.lib
opencv_cudaobjdetect341d.lib
opencv_cudaoptflow341d.lib
opencv_cudastereo341d.lib
opencv_cudawarping341d.lib
opencv_cudev341d.lib
opencv_datasets341d.lib
opencv_dnn_objdetect341d.lib
opencv_dnn341d.lib
opencv_dpm341d.lib
opencv_face341d.lib
opencv_features2d341d.lib
opencv_flann341d.lib
opencv_fuzzy341d.lib
opencv_highgui341d.lib
opencv_img_hash341d.lib
opencv_imgcodecs341d.lib
opencv_imgproc341d.lib
opencv_line_descriptor341d.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_tracking341d.lib
opencv_video341d.lib
opencv_videoio341d.lib
opencv_videostab341d.lib
opencv_xfeatures2d341d.lib
opencv_ximgproc341d.lib
opencv_xobjdetect341d.lib
opencv_xphoto341d.lib

這個編譯是完全編譯,其實已經包括了開頭所說xfeature2d等模塊,使用時只需改變一下依賴的lib就可以了。還有如果覺得自己完成太花時間的話,這里附上編譯好的成品——include和install文件夾,可以直接用 

https://download.csdn.net/download/goerge_l/10320907

 

 

如果還是失敗 就使用opencv2.4+CUDA+vs2015重新編譯(不需要加入額外的opecv_contrib模塊 因為opencv2中還存在SURF等算法  只不過在opencv3中移除了需要自己重新進行編譯)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM