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版本
- 使用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中方便添加
- Where is the source code选择OpenCV的sources目录
- 使用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
- 在项目->属性中选择VC++目录,在包含目录中添加include目录,在库目录中添加lib目录
- 新建一个Qt文件或者命令行应用,然后使用OpenCV的函数,如果不报错说明环境搭建完成。
Darknet部署YOLO
- 去GitHub上下载Darknet的zip包或者clone源码,或者在gitee的国内仓库下载,速度更快
Darknet:GitHub仓库地址、gitee仓库地址其一
- 下载CUDA以及cuDNN,要求CUDA>=10.2,cuDNN可用版本与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
Win10下部署VS+Qt+OpenCV+darknet(YOLO)集成环境的更多相关文章
- 关于在windows下部署发布QT程序的总结
原文请看:http://www.cnblogs.com/javaexam2/archive/2011/05/18/2632916.html 关于在windows下部署发布QT程序的总结 2008-06 ...
- deepin系统下部署Python3.5的开发及运行环境
deepin系统下部署Python3.5的开发及运行环境 1 概述 由于最近要学习python接口自动化测试,所以记录一下相关学习经过及经验,希望对大家可以有所帮助. 2 下载 在python官网下载 ...
- win10 下 protobuf 与 qt
编译环境: win10 x64 编译器 :mingw32 cmake 使用场景:Qt4.8.7 下载 protobuf 最新的代码:https://github.com/google/proto ...
- Linux下部署docker记录(0)-基础环境安装
以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...
- windows下安装Apache、php、mysql集成环境
一.准备工作 本次安装的版本分别为:apache2.4 .php5.6 . mysql5.7 下载地址为:http://pan.baidu.com/s/1boQNIOn 密码:zarx 二.安装步骤 ...
- WIN10下使用Anaconda配置opencv、tensorflow、pygame并在pycharm中运用
昨天想运行一段机器学习的代码,在win10系统下配置了一天的python环境,真的是头疼,准备写篇博客来帮助后面需要配置环境的兄弟. 1.下载Anaconda 根据昨天的经历,发现Anaconda真的 ...
- win10系统iis下部署搭建https (ssl/tls)本地测试环境
有时想要把公司的某些XX项目部署成https站点,是为了在传输层加密传输,防止他人嗅探站点重要数据信息,平常我们使用的http方式都是明文方式传输的很不安全,容易被他人窃取.而有些时候要在本地搭建ht ...
- win10下部署.Net Web项目到IIS10
本问主要介绍如何将.Net Web项目部署到IIS10下面. 1.确保iis功能已开启 开启步骤如下:控制面板->程序 点击确定,ok,iis功能已开启. 2.打开iis,绑定站点到iis下面 ...
- C# 下搭建最新版OpenCV(Emgu CV)开发环境
既然是"最新版" 首先当然是去sf找安装包: https://sourceforge.net/projects/emgucv/files/emgucv/ 或着去github主页上c ...
随机推荐
- Redis Jedis lua脚本
参考:http://redisdoc.com/script/eval.htmlhttps://blog.csdn.net/diudiu2025/article/details/86483043fina ...
- BeanUtils使用:从一个map集合中,拷贝到javaBean中(四)
package beanutil; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; impo ...
- ProjectEuler 003题
1 //题目:The prime factors of 13195 are 5, 7, 13 and 29. 2 //What is the largest prime factor of the n ...
- java8时间类API安全问题(赠送新的时间工具类哟)
LocalDateTime等新出的日期类全是final修饰的类,不能被继承,且对应的日期变量都是final修饰的,也就是不可变类.赋值一次后就不可变,不存在多线程数据问题. simpleDateFor ...
- spring动态切换数据源(一)
介绍下spring数据源连接的源码类:| 1 spring动态切换连接池需要类AbstractRoutingDataSource的源码 2 /* 3 * Copyright 2002-2017 the ...
- LVS实现(VS/DR)负载均衡和Keepalived高可用
LVS是Linux Virtual Server的简写即Linux虚拟服务器,是一个虚拟的服务器集群系统一组服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载调度器(Load ...
- js基本数据类型之间的转换
常见五大基本数据类型 1.number 2.string 3.boolean 4.undefined 5.null 一.转换为string ①调用toString() 方法 因为null和undefi ...
- SQL语句之基本使用
1.sql语法 一些重要的SQL命令: SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数 ...
- netfilter框架之hook点
1. Netfilter中hook的所在位置 当网络上有数据包到来时,由驱动程序将数据包从网卡内存区通过DMA转移到设备主存区(内存区), 之后触发中断通知CPU进行异步响应,之后ip_rcv函数会被 ...
- php-fpm进程数控制
一.名词解释 CGI是Common Gateway Interface(通用网管协议),用于让交互程序和Web服务器通信的协议.负责处理URL的请求,启动一个进程,将客户端发送的数据作为输入,有Web ...