python-opencv-contrib-cuda编译

opencv-contrib-cuda编译

  1. opencv4.5.0
  2. opencv-contrib4.5.0
  3. cuda11.1
  4. cudnn8.4
  5. python3.9

软件下载

  1. opencv
    从这里下载
    python-opencv-contrib-cuda编译_第1张图片
    在这里插入图片描述
    python-opencv-contrib-cuda编译_第2张图片
    在windows上直接安装即可。

  2. opencv-contrib同理
    python-opencv-contrib-cuda编译_第3张图片

  3. CMake
    python-opencv-contrib-cuda编译_第4张图片
    python-opencv-contrib-cuda编译_第5张图片
    在这里找你要的版本(windows的安装包)

开始编译

我是想编译到anaconda的虚拟环境中的,但是遇到问题,所以编译到了anaconda的base环境里。
**我遇到的问题:**我的cmake在Configure时只能识别到anaconda的base环境,无论我的环境变量配的是哪个环境,它只认识base,我也很无解。
**建议:**配好python的环境变量
在这里插入图片描述
目录结构
在这里插入图片描述
自己建一个编译目录
python-opencv-contrib-cuda编译_第6张图片
打开CMake
python-opencv-contrib-cuda编译_第7张图片
这俩东西填好,之后点击Configure按钮,弹出窗口,第二栏选择x64
python-opencv-contrib-cuda编译_第8张图片
然后就开始了Configure了,这里面会遇到一些问题,都是红色的
1.下载超时问题, 你会看到红色的download信息。
你可以找到我们创建的build文件夹下,找到CMakeDownloadLog.txt文件。
python-opencv-contrib-cuda编译_第9张图片
2.找不到python问题
python-opencv-contrib-cuda编译_第10张图片
我们用的是python3,所以python2的不用管
3.还可能会有一个这个错
在这里插入图片描述
找到OPENCV_GENERATE_SETUPVARS选项,把他的√去掉
4.包重复的错
python-opencv-contrib-cuda编译_第11张图片
因为contrib的modules和opencv的modules包重复了,删掉opencv里的就行。

待Configure结束后,添加配置。
一般首次Configure都会有问题,我们还得配置选项。
BUILD_JAVA ×
BUILD_TESTS ×
WITH_VTK ×
BUILD_opencv_world √ 这个选项是把所有的lib编译成一个lib,在vs上配置时很方便,建议勾选,但是他是要下载所有包之后编译,时间会长,还会超时(谁还没有个梯子呢)
OPENCV_DNN_CUDA √
WITH_CUDA √
BUILD_CUDA_STUBS √
WITH_CUDNN √ 如果没有这个选项,就点击 Add Entry 创建一个
OPENCV_EXTRA_MODULES_PATH 写上opencv-contrib中modules的路径
OPENCV_ENABLE_NONFREE √ 这个是编译那些不免费的库
CUDA_ARCH_BIN 填写显卡的架构(我的 2060 是 7.5)
查算力
这些配置完了,接着Configure,然后没有红色的了,再点击Generate按钮,
python-opencv-contrib-cuda编译_第12张图片
建议不要用太高的CMake,在编译python时容易出错。
然后,用管理员权限打开vs2019,打开你编译的opencv项目(build文件夹里),一定要用管理员权限,否则会失败。
看下vs的右侧,如果没有 opencv_python3,就重新CMake吧。
python-opencv-contrib-cuda编译_第13张图片
接下来右键ALL_BUILD,点击生成,这里得很长时间。
然后右键INSTALL,点击生成,这里也得很久。
然后就没有然后了,去测试吧。
找个终端试一下。
python-opencv-contrib-cuda编译_第14张图片
使用C++的opencv,就在vs里添加一个配置属性页,配置一下就行。
别忘了给编译好的opencv添加环境变量,否则会找不到dll。

结束

你可能感兴趣的:(opencv,python,opencv)