windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型

  • 前言
    • 0 、安装Visual Studio 2019
    • 一、下载 OpenCV
    • 二、VS 2019配置OpenCV 环境(新版本好像只支持X64环境,根据你下载的文件判断)
      • 0.新建一个空项目:
      • 1.检测OpenCV
      • 2.执行OpenCV结果:
    • 三、下载 Libtorch
    • 四、VS 2019配置Libtorch Debug 环境(Releasa版本可按照类似流程配置)
      • 0.新建一个空项目:
      • 1.检测Libtorch
      • 2.执行 Libtorch 结果
    • 后续yolov5的集成参考博客:

前言

windows系统下VS2019 2017 2015 +OpenCV+LibtorchC++ 部署YoloV5的环境搭建,中间查阅了一些资料,都比较零散,中间的错误问题不知道原因,故记录一下,避免后面忘记,也希望对大家有所帮助!

0 、安装Visual Studio 2019

https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

一、下载 OpenCV

官网地址 http://opencv.org/
这里下载发行版

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第1张图片
解压目录如下:

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第2张图片

二、VS 2019配置OpenCV 环境(新版本好像只支持X64环境,根据你下载的文件判断)

0.新建一个空项目:

项目属性设置
VC++ 包含目录添加(C/C++目录同理) 前缀修改为自己的文件目录

D:\yoloV5\opencv\build\include
D:\yoloV5\opencv\build\include\opencv2

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第3张图片
VC++ 库目录添加 (**vc15支持Visual Studio 2015和以上版本 vc10为vs2010 **)

D:\yoloV5\opencv\build\x64\vc15\lib

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第4张图片

链接器->输入->附加依赖项
添加:opencv_world452d.lib (根据需求添加debug只需要添加,发行版添加opencv_world452.lib )

opencv_world452d.lib

文件目录为:D:\yoloV5\opencv\build\x64\vc15\lib\opencv_world452d.lib
已添加包含和库目录,可缩写
windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第5张图片

添加调试编译环境变量(加载dll环境,无该配置会提示dll函数错误)

PATH=D:\yoloV5\opencv\build\x64\vc15\lib;%PATH%

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第6张图片
这里也可加在系统环境变量里,这里直接在项目里添加
**设置C/C++ 语言 符合模式为否 **
windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第7张图片

1.检测OpenCV

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第8张图片
mian.cpp

using namespace cv;
int main(int argc, char** argv) {
	Mat image = imread("D:\\gameImgs\\2020-10-12_23-18-3520.bmp");
	if (image.empty()) {
		printf("could not load image...\n");
		return -1;
	}
	namedWindow("test_opencv_setup", 0);
	imshow("test_opencv_srtup", image);
	waitKey(0);
	return 0;
}

2.执行OpenCV结果:

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第9张图片

三、下载 Libtorch

官网地址 https://pytorch.org/ 根据自身需求下载:Debug版本或者Releasa以及CUDA的GPU加速(需要显卡支持,amd显卡不支持CUDA加速)

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第10张图片
解压目录如下:
windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第11张图片

四、VS 2019配置Libtorch Debug 环境(Releasa版本可按照类似流程配置)

0.新建一个空项目:

项目属性设置
VC++ 包含目录添加(C/C++目录同理) 前缀修改为自己的文件目录

D:\yoloV5\libtorch-win181cpu-debug\libtorch\include
D:\yoloV5\libtorch-win181cpu-debug\libtorch\include\torch\csrc\api\include
windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第12张图片

VC++ 库目录添加 前缀修改为自己的文件目录

D:\yoloV5\libtorch-win181cpu-debug\libtorch\lib
同时需要将该目录下的dll文件复制到工程目录下(后续发现.)

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第13张图片
链接器->输入->附加依赖项
添加: c10.lib;torch.lib …(yolov5只添加两个该版本dll报错,可全部添加避免错误)
文件来源 D:\yoloV5\libtorch-win181cpu-debug\libtorch\lib\ 目录下

c10.lib
torch.lib
asmjit.lib
caffe2_detectron_ops.lib
caffe2_module_test_dynamic.lib
clog.lib
cpuinfo.lib
dnnl.lib
fbgemm.lib
fbjni.lib
gloo.lib
libprotobufd.lib
libprotobuf-lited.lib
libprotocd.lib
mkldnn.lib
pthreadpool.lib
pytorch_jni.lib
torch_cpu.lib
XNNPACK.lib

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第14张图片
添加调试编译环境变量(加载dll环境,无该配置会提示dll函数错误)

PATH=D:\yoloV5\libtorch-win181cpu-debug\libtorch\lib;%PATH%

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第15张图片

设置C/C++ 常规sdl检查为否
windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第16张图片
**设置C/C++ 语言 符合模式为否 **
windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第17张图片

1.检测Libtorch

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第18张图片
main.cpp

#include 
#include 
int main() {
	std::cout << "cuda::is_available():" << torch::cuda::is_available() << std::endl;
	torch::Tensor tensor = torch::rand({ 2, 3 });
	std::cout << tensor << std::endl;
}

2.执行 Libtorch 结果

windows系统VS2019+OpenCV+Libtorch 使用C++部署YOLOv5模型_第19张图片

后续yolov5的集成参考博客:

在Windows使用C++部署YOLOv5模型

你可能感兴趣的:(C++,c++,opencv,pytorch,图像识别)