20201017更新
前置条件
vs2019
也就是所谓的vc16. 要检测是否安装了完整的C++功能和cmake支持,用vs 的installer可以选上。
否则cmake的configure都会报错。
1 下载源码
2 configure
选上
BUILD_opencv_world
NONFREE必须开,否则即使下载的opencv_contrib也不包含sift等等nonfree库了
注意路径中的分割线,必须是linux的
D:/opencv/opencv_contrib-4.5.0/modules
cuda:
选上
WITH_CUDA
WITH_CUDNN
修改 CUDA_ARCH_BIN
这个针对不同计算能力的GPU,编译不同版本,但是这部分特别慢,只能单线程编译。
只编译自己用到的,或者可能部署用到的就可以。
我能用到的显卡基本也就是
所以只保留这2个就可以啦。
其他
基本上多点几次Configure,直到不报错就OK。
如果报warning:
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install directory Call Stack (most recent call first)
去掉这个编译选项,应该没啥用
python3路径现在已经能自动识别
python3的路径一个一个补上:注意library 很迷惑,有python3.lib和 .a的。注意区别
其他要注意的也就是这些了,那个OPENCV_PYTHON3_VERSION没啥用,选上好像就编译cv2.pyd不过了。保持空就可以。
1 需要迷信下载的缓存文件1:
打开 D:/opencv/opencv-4.5.0/build/CMakeDownloadLog.txt
如果正常,应该看到:
#use_cache "D:/opencv/opencv-4.5.0/.cache"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_IPPICV_HASH_3rdparty_ippicv_ippicv_2020_win_intel64_20191018_general_zip"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_ADE_HASH_3rdparty_ade_v0_1_1f_zip"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_FFMPEG_HASH_3rdparty_ffmpeg_opencv_videoio_ffmpeg_dll"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_FFMPEG_HASH_3rdparty_ffmpeg_opencv_videoio_ffmpeg_64_dll"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_FFMPEG_HASH_3rdparty_ffmpeg_ffmpeg_version_cmake"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_bgm_i"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_bgm_bi_i"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_bgm_hd_i"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_binboost_064_i"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_binboost_128_i"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_XFEATURES2D_B