测试篇:windows:opencv使用cmake & vs 编译, c++、python、cuda、qt 环境详细教学及踩坑 二 :测试篇-csdn博客
一、准备:
本文使用的软件版本均是撰写时的最新或次新版,对过旧版本不一定通用
0、环境配置:
windows | windows 11 专业版 23h2 |
opencv | 4.10 |
qt | 6.7.2 |
cmake | 3.3.0 |
python | 3.12.4 |
cuda | 12.5 |
cudnn | 9.2.1 |
vs studio | 2022 |
1、 opencv,opencv_contrib 源码下载 本文版本:4.10
github - opencv/opencv: open source computer vision library
github - opencv/opencv_contrib: repository for opencv's extra modules
下载完成后解压opencv 和 opencv_contrib,将opencv_contrib文件夹移入opencv文件夹下,并在opencv文件夹下新建build文件夹。
软件安装教程引用其他大神的教程,很详细
2、qt 安装 本文版本:qt 6.7.2
qt下载安装及配置教程(非常详细),从零基础入门到精通,看完这一篇就够了-csdn博客
3、cmake 安装: 本文版本:cmake 3.3.0
windows下的cmake详细安装教程(2024/1/24)_windows 安装cmake-csdn博客
4、python 安装: 本文版本:python 3.12.4
1、选择自定义安装
2、选择添加python路径到环境变量
3、选择为所有用户安装
其他选项如图所示,如果cmake需要debug版本的一定要勾选debug有关的选项,否则生成过程中会缺少python3xx_d.lib 文件。
5、cuda 、cudnn 安装:本文版本:cuda 12.5 cudnn 9.2
先按该教程安装cuda、cudnn:cuda和cudnn安装教程(超级详细)-csdn博客
cudnn再按官方文档安装一遍:英伟达官方cudnn安装教程
注意:cudnn一定要按教程,将cudnn文件复制到cuda文件夹下。
否则:如果只是按照官方文档中的教程,编译成功后,python import cv2 时无法调用cudnn中的dll文件。报错:
!!注意:windows下使用cmake编译cuda只能使用vs,否则会无法找到cuda位置
6、vs studio 安装:
thank you for downloading visual studio community edition
7、上述软件安装完成后重启计算机!!!
二、设置 cmake 选项
- 从“开始”菜单打开 cmake (cmake-gui)
- 将“where is the source code”设置为提取的 opencv 文件夹。
- 将“where to build the binaries”设置为提取的 opencv 文件夹,并在末尾附加 /build。这将是编译文件的构建位置,您可以将其设置为所需的任何文件夹
- 点击“configure”
- 弹出窗口选择vs2019作为编译器
-
generate平台选择x64
对应关系为:
此处的目录结构为:
1、通用编译选项:
使用“搜索”框更改以下属性:
- build_protobuf:– 取消选中
- with_protobuf:– 取消选中
- build_tests:– 取消选中
- with_openexr:– 取消选中
- build_openexr:– 取消选中
- opencv_enable_allocator_stats:– 取消选中
- cmake_build_type:– release
- cmake_install_prefix:– 这默认为 build/install 目录,但您可以将其更改为您希望将 opencv 库安装到的任何目录。
- build_opencv_world:建议勾选,build_opencv_world可以将所有opencv的库都打包编译在一起。
- opencv_enable_nonfree:勾选,否则无法使用sift。
- with_opengl :勾选
- opencv_extra_modules_path – 设置为提取的 opencv_contrib/modules 文件夹的路径。如图所示:
10、配置完成点击“configure”
报错信息1:
报错信息2:
解决方案:
这两类警告,不影响正常编译过程。对此未作处理。
2、cuda 编译选项
参考链接:windows11编译opencv4.5.0 with cuda(附注意事项)-csdn博客
第一次搜cuda时将带cuda的都勾选,点击“configure”
搜索:with_nvcuvenc——取消选中
with_nvcuvid——取消选中
配置cuda_arch_bin中将显卡的算力内容改成自己显卡的算力,显卡算力查看链接查看自己显卡的算力,我的显卡是4060laptop,官网算力为8.9。cuda_arch_bin中将低于8.9数值的删除。
cuda编译选项按图进行勾选。
报错信息1:with_nvcuvenc、with_nvcuvid
解决方法:
搜索:with_nvcuvenc——取消选中
with_nvcuvid——取消选中
报错信息2:opencv_dnn_cuda
解决方法:
搜索cudnn_library,找到并输入cudnn.lib的安装位置
cuda 参考配置:
打开 advance,配置供参考(不一定要一致,只是提供参考)
3、python 编译选项
参考:【opencv】【gpu】windows10下opencv4.8.0-cuda python版本源码编译教程_cv2的版本4.8.0-csdn博客
python的选项设置如图所示,其中numpy需提前进行安装,安装完成python后,打开cmd,输入
pip install numpy
python 参考配置:
4、qt 编译选项
参考:基于qt5.14.2的opencv4.8.0的cuda11.4开发环境搭建和源码编译_opencv4.8编译-csdn博客
1、搜索qt,设置qt6_dir目录为:qt安装路径/6.7.2/msvc2019_64/lib/cmake/qt6,如图所示。点击“configure”。
2、查找qt安装路径\6.7.2\msvc2019_64\lib\cmake\qtest文件夹,将其压缩备份后删除。
参考:https://github.com/opencv/opencv/issues/23826#issuecomment-2227167370
否则会报错。点击“configure”。 此时搜索 qt6test_dir 为 qt6test_dir-notfound。
报错信息:qtest
解决方案:
查找qt安装路径\6.7.2\msvc2019_64\lib\cmake\qtest文件夹,将其压缩备份后删除。
参考:https://github.com/opencv/opencv/issues/23826#issuecomment-2227167370
qt 参考配置:
三、检查配置报告
!!!检查具有背景色的行,看是否与自己预期一致。
四、使用vs studio 进行编译
1、点击open project 自动打开vs studio
注意:该opencv_python3 是不可或缺的。没有的话检查是否勾选build_opencv_python3
2、点击选择release。
3、右键install,点击生成
时间大概1个小时-2个小时左右,按cpu性能而定。若没有失败,则编译成功。
至此编译完成!!!
五、添加环境变量,修改config.py文件
1、修改config.py文件
编译完成后只有opencv/build/install 文件夹(本文命名为opencv_cp312_410\opencv_410_cp312_amd64_bulid\opencv_410_cp312_amd64 文件夹)是我们所需要的,将install 文件夹移动到你所需的位置后,需要进行如下更改:
1、打开python 安装路径,或者在 cmake配置信息中取得,打开安装路径中的cv2文件夹(本文 install path 为c:/program files/python312/lib/site-packages/cv2/python-3.12,则打开c:/program files/python312/lib/site-packages/cv2 )
2、打开cv2文件夹下的config.py下的
3、编辑该路径为install的文件路径
2、修改环境变量
1、打开系统变量中的path
2、将*(install的文件路径)*/install/x64/vc17/bin 添加到系统变量中
3、修改环境变量后重启计算机!!!!
编译完成文件下载链接:(仅参考)
百度云链接opencv_cp312_410_win64 提取码:toi4
下一篇:测试篇
windows:opencv使用cmake & vs 编译, c++、python、cuda、qt 环境详细教学及踩坑 二 :测试篇-csdn博客
参考链接:
最新 | opencv4.8 + cuda + 扩展模块支持编译指南-腾讯云开发者社区-腾讯云
https://www.cnblogs.com/guojin-blogs/p/17939955#4-%e9%a1%b9%e7%9b%ae%e6%b5%8b%e8%af%95
基于qt5.14.2的opencv4.8.0的cuda11.4开发环境搭建和源码编译_opencv4.8编译-csdn博客
windows下配置cmake(入门级教程,适合新人收藏学习)-阿里云开发者社区
windows下cmake的安装与环境变量配置教程_win10配置 cmake环境变量-csdn博客
windows下 c++ opencv配置及x86编译(傻瓜式教程)_opencv x86-csdn博客
opencv源码编译及配置完整版教程(win10+vs2019+opencv-4.4.0+opencv_contrib-4.4.0)_、 .4 ,vcvedv-csdn博客
win10下使用mingw编译安装运行opencv_mingw编译opencv-csdn博客
https://www.cnblogs.com/liushuiruobing/p/17695059.html
【opencv】【gpu】windows10下opencv4.8.0-cuda python版本源码编译教程_cv2的版本4.8.0-csdn博客
opencv4.8 gpu版本cmake编译详细步骤 与cuda代码演示-csdn博客
【opencv】【gpu】windows10下opencv4.8.0-cuda python版本源码编译教程_opencv_牙牙要健康-开放原子开发者工作坊
发表评论