Win10下部署VS+Qt+OpenCV+darknet(YOLO)集成环境

下载VS与Qt并安装。

VS:官网链接
Qt:下载链接

将Qt的bin目录加入PATH路径

bin目录举例:D:\development\Qt\5.12.0\msvc2017_64\bin

下载VS对应版本的Qt扩展插件,可以在VS的扩展商店下载也可以去网站下载然后安装

Qt Visual Studio Tools:下载连接
后缀名为vsix可以直接安装,如果是zip等压缩文件可以修改为vsix

安装完成后打开VS,在扩展->Qt VS Tools->Qt Options->Add,将Qt安装路径添加进来。

如果第三步没有将Qt加入PATH路径的话这里可能没有可点击的选项
安装路径举例:D:\development\Qt\5.12.0\msvc2017_64

创建一个Qt新项目,如果创建成功就说明集成环境已经搭建完成。

有几种Qt新项目,如果一种不行就尝试另一种,因为可能有未知的错误导致失败

如果如上搭建完成但include导入包时显示无包,则在项目->属性->VC++目录,将Qt的include目录加入包含目录,将Qt的lib目录加入库目录

include目录举例:D:\development\Qt\5.12.0\msvc2017_64\include
lib目录举例:D:\development\Qt\5.12.0\msvc2017_64\lib

VS+OpenCV集成环境 注意:通过这个方式搭建的环境无法在Qt Creator中集成,具体原因暂未知。

下载OpenCV源码并解压,下载并安装CMake的带GUI版本

OpenCV:官网链接
CMake:官网连接

使用CMakd构建OpenCV

Where is the source code选择OpenCV的sources目录

sources目录举例:D:/development/OpenCV/opencv/sources

在sources目录下建立build文件夹,Where to build the binaries选择该文件夹

build目录举例:D:/development/OpenCV/opencv/sources/build

点击Configure生成配置列表

如果有弹出CMakeSetup选项框的话:

Specify the generator for this project选择你所使用的VS版本

Optional platform for generator选择你所使用的平台,默认X64

然后点Finish

在生成的配置列表中找到"BUILD_opencv_world"勾上,然后再点击Configure,完成后点击Generate,完成后点击Open Project。

这样做的好处就是能将OpenCV模块构建为一个库(dll文件),VS中方便添加

使用VS生成OpenCV

点击生成(Build)->批生成(Batch Build)

将"ALL_BUILD"与"INSTALL"全都勾上(有4个)

点击生成(Build)

将OpenCV dll文件加入PATH环境变量,dll文件就是上面的lib同级目录下的bin目录

路径举例:D:\development\OpenCV\opencv\sources\build\install\x64\vc16\bin

配置VS+OpenCV环境

在项目->属性中选择VC++目录,在包含目录中添加include目录,在库目录中添加lib目录

include目录举例:D:\development\OpenCV\opencv\build\include
lib目录举例:D:\development\OpenCV\opencv\build\x64\vc15\lib

选择链接器的输入选项卡,在附加依赖项中将lib目录下的两个.lib文件加入

举例:
D:\development\OpenCV\opencv\build\x64\vc15\lib\opencv_world346.lib
D:\development\OpenCV\opencv\build\x64\vc15\lib\opencv_world346d.lib

新建一个Qt文件或者命令行应用,然后使用OpenCV的函数,如果不报错说明环境搭建完成。

Darknet部署YOLO

去GitHub上下载Darknet的zip包或者clone源码,或者在gitee的国内仓库下载,速度更快

Darknet:GitHub仓库地址、gitee仓库地址其一

下载CUDA以及cuDNN,要求CUDA>=10.2,cuDNN可用版本与CUDA一致,cnDNN要登录

CUDA:官方地址
cnDNN:官方地址

CUDA安装完成后打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0将cnDNN的文件解压覆盖

将Darknet源码中build目录下的darknet.vcxproj文件中的CUDA版本改为安装的版本。

darknet.vcxproj文件路径举例:D:\development\Tools\darknet\build\darknet

使用CMake-GUI,将Darknet源码构建,设置好Where is the source code与Where to build the binaries(注意源码中已经有build文件夹,不要选择该文件夹),点击Configure -> Finish(选项和上面一样) -> Generate -> Open Project,打开VS之后将Debug改为Release,并且选择x64平台,然后点击菜单的生成 -> 生成解决方案,只要生成成功就说明环境已经搭建成功。

将darknet.exe加入PATH路径,darknet.exe在生成文件夹的Release文件里,至此环境搭建已经完成

路径举例:D:\development\Tools\darknet\newbuild\Release

如果在使用YOLO时提示CUDA Error:no kernel image is available for execution on the device,说明CUDA版本太高,不支持当前显卡,请降低版本。

如果在使用YOLO时提示找不到pthreadsCV2.dll,前往Darknet的3rdparty文件夹将pthreads.dll复制到C:\Windows\SysWOW64与C:\Windows\System32中

pthreadsCV2.dll路径举例:D:\development\Tools\darknet\3rdparty\pthreads\bin

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjjjy.html