当前位置:首页 » 《随便一记》 » 正文

cmake 编译opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版以及vs2022配置opencv-gpu

17 人参与  2023年05月06日 18:09  分类 : 《随便一记》  评论

点击全文阅读


opencv gpu版本安装

cmake 编译opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版本编译方法相同,本文以opencv4.5.5为例

1 编译环境准备

一定确保已经成功安装了cuda工具包,以及VS编译器,清单如下

cuda工具包

visual studio 编译器

cmake构建工具

opencv源码

opencv-contrib源码

1.1 cmake构建工具下载

https://cmake.org/download/

在这里插入图片描述

1.2 opencv源码下载

官网下载地址

https://opencv.org/releases/

在这里插入图片描述

国内源:

https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/

1.3 opencv-contrib源码下载

opencv-contrib为opencv的拓展模块,为opencv添加了额外的功能,在编译时一块编译

github下载地址:

https://github.com/opencv/opencv_contrib/

国内源:

https://www.raoyunsoft.com/opencv/opencv_contrib/

2 cmake构建工程

打开cmake

cmake-gui在解压出来的文件夹下的bin目录中,双击打开

在这里插入图片描述

选择位置

打开cmake构建工具后,选择源码位置已经输出位置

在这里插入图片描述

configre

选择vs版本以及处理器,点击finish,看见configure done表示配置完成

在这里插入图片描述

添加opencv-contrib以及cuda

这个会出现很多错误,修改自己需要的即可

去掉python版本,勾选opencv_world

在这里插入图片描述

添加 opencv_contrib 路径

在这里插入图片描述

找到此文件,后面添加路径(opencv_contrib中modules所在的路径)

在这里插入图片描述

勾选 cuda

再搜索栏搜索cuda,添加BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA

在这里插入图片描述

勾选OPENCV_ENABLE_NONFREE

在这里插入图片描述

去除勾选test

再搜索栏搜索test,去掉test,加快编译

在这里插入图片描述

去除勾选js

再搜索栏搜索js,去掉js
在这里插入图片描述

去除勾选java

再搜索栏搜索java,去掉java
在这里插入图片描述

再次点击configre

看见configure done表示配置完成

CUDA_ARCH_BIN表示的是支持的显卡算力版本,在搜索栏搜索CUDA_ARCH_BIN会看见支持所有算力版本,可以指定自己的版本,加快编译

在这里插入图片描述

配置完成后搜索FAST, 勾选CUDA_FAST_MATH、ENABLE_FAST_MATH

在这里插入图片描述

修改完成后,再点一次configre

genetate

点击genetate生成工程,出现genetate done表示生成成功

在这里插入图片描述

3 Visual Studio 编译opencv

双击打开工程文件

在这里插入图片描述

分别在debug以及release模式下,在解决方案资源管理器窗口中找到ALL_BUILD右击,点击生成,等待编译完成

在这里插入图片描述

编译完成后,点击install

在这里插入图片描述

4 Visual Studio 配置opencv

解决方案资源管理器窗口中,项目右击,选择属性

在这里插入图片描述

VC++ 目录->包含目录

添加编译生成的install 文件下 include路径

在这里插入图片描述

VC++ 目录->库目录

添加编译生成的install 文件下 x64\vc17\lib

在这里插入图片描述

链接器->输入

添加依赖项 opencv_world455d

在这里插入图片描述

5 附录

1、验证是否编译后的库在新环境中是否存在缺损dll,找到编译路径下install/x64/vc15/bin文件夹,在终端运行opencv_version.exe,如果成功运行,则opencv运行环境配置没有缺损。
在这里插入图片描述
2、opencv 启动 gpu,模型加载后添加如下两行代码:

cv::dnn::Net net = cv::dnn::readNetFromTensorflow("yolo.pb");net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);

3、python opencv-gpu 安装

cmake构建工程时勾选python,编译完成后找编译路径下的python_loader中的cv2文件夹
在这里插入图片描述
将其移动到python安装路径中的Lib/site-packages中

在这里插入图片描述

6 错误总结

如果在编译过程中出现如下错误,参考下面解决方案

vs2022重新编译opencv-python cuda加速时报错的问题解决

在这里插入图片描述
2. LNK1104 无法打开文件“python37_d.lib” 解决方法

首先确认环境中有没有安装python3.7,如果已经安装python3.7,可以采用release编译,如需编译bebug版本则需要安装python debug版本,参考下面解决方案

LNK1104 无法打开文件“python37_d.lib” 解决办法

在这里插入图片描述
3、如果编译过程中出现LINK : fatal error LNK1104: 无法打开文件“XXX.lib”

出现此问题是确认路径中是否包含中文采用vs2017进行编译,2022时可能会出现错误cmake过程中有错误未解决

点击全文阅读


本文链接:http://zhangshiyu.com/post/61228.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1