目录
1 文件准备:
(1)vs2019建议使用;至少vs2015
(2)opencv_contrib和opencv,在官网或者github下载; https://github.com/opencv/opencv_contrib/releases
(3)cuda以及cudnn参见其他博客,cuda_10.1.243_426.00_win10.exe
nvcc —V 错误,可以参考https://blog.youkuaiyun.com/jinshelj/article/details/80193021
cmake缺少文件+contrib+opencv4.5.1 百度盘分享
链接:https://pan.baidu.com/s/1MTHZQ68YV2O8jTEmZRhCsA
提取码:biru
复制这段内容后打开百度网盘手机App,操作更方便哦
2 camke参数配置
(1)Where is the source code 放在opencv/source
(2)Where to build binaries:放在opencv/source 同一级别 new_build
(3)OpenCVGenSetupVars 不勾选
(4)CMAKE_INSTALL_PREFIX :为new build目录下install。
(5)OPENCV_ENABLE_NONFREE:勾选,比如sift等专利
(6)OPENCV_EXTRA_MODULES_PATH:contrib//module
(7)BUILD_opencv_world:勾选
(8)cuda:build_cuda_stubs, with_cuda勾选
(9)Cuda_arch_bin :6.1;7.0.;7.5
(10)Cuda_fast_math
(11)python不勾选
(12)test等不勾选。
3 问题
3.1 文件cmake配置文件下载问题
CMakeDownloadLog.txt‘ 中https://raw.githubusercontent.com改为https://raw.staticdn.net,在浏览器中下载,然后修改md5前缀,放入sources\.cache目录。
https://blog.youkuaiyun.com/weixin_42386056/article/details/105576333
https://blog.youkuaiyun.com/pyt1234567890/article/details/106525475/
https://blog.youkuaiyun.com/pyt1234567890/article/details/106525475/
https://www.pianshen.com/article/56571638692/
3.2 VS中如何解决CUDA程序warning C4819 (转载)
经我试验过的,一个简单的办法:打开出现warning的文件,Ctrl+A全选,然后在文件菜单:file->Advanced save options,在弹出的选项中选择新的编码方式为:UNICODE- codepage 1200 ,点确定后重新编译。
3.3 identifier "LINE_8" is undefined 以及protobuf问题
https://blog.youkuaiyun.com/length85/article/details/103767475
我刚开始也是用2015后来用vs2019错误能少些,在vs'2019中all build不通过主要有两个问题,(1) identifier "LINE_8" is undefined ,需要将Anaconda3\Library\include\opencv2以及opencv修改为其他名字,等编译后再改回。(2)GOOGLE_PROTOBUF_VERSION版本问题,需要将Anaconda3\Library\include目录下的google重命名为google_,vs编译通过后再改回。