当前位置: 首页 > news >正文

YOLOv8 Windows c++推理

#添加一个**yolov8\_。onx **和/或**yolov5\_。Onnx **模型(s)到ultralytics文件夹。
#编辑**main.cpp**来改变**projectBasePath**来匹配你的用户。#请注意,默认情况下,CMake文件将尝试导入CUDA库以与opencv dnn (cuDNN) GPU推理一起使用。
#如果你的OpenCV构建不使用CUDA/cuDNN,你可以删除该导入调用并在CPU上运行示例。
cd examples/YOLOv8-CPP-Inference 
mkdir build
cd build
cmake ..
make
./Yolov8CPPInference

如果环境完整的话,整个过程是很简单的,但是一般环境都不完整,下面讲一下踩的坑。

1. 卡在cmake

1.1 没有cmake包

这个很简单,一般是没有装cmake包

直接在环境中pip install cmake

1.2 找不到OpenCV

报错:

  Could not find a package configuration file provided by "OpenCV" with any
  of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

解决方法:

先下载并安装c++版本的OpenCV:

Get Started - OpenCV

然后在CMakeLists.txt里面添加OpenCV指定路径,注意路径不要用'\',要用'/'或'\\'

set(OpenCV_DIR "C:/Users/xxx/Desktop/yolo/examples/YOLOv8-CPP-Inference/opencv/build/x64/vc16/lib")

没有cuda的话注释掉cuda相关的:

# CUDA
# set(CUDA_TOOLKIT_ROOT_DIR "/usr/local/cuda")
# find_package(CUDA 11 REQUIRED)# set(CMAKE_CUDA_STANDARD 11)
# set(CMAKE_CUDA_STANDARD_REQUIRED ON)
# !CUDA

1.3 直接cmake造成make报错

直接cmake ..也会出问题,后面make会报错:

make: *** No targets specified and no makefile found.  Stop.

要用:

cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G "Unix Makefiles"

​或者

cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G "MinGW Makefiles"

原因:咱们是windows系统,默认不是生成makefile文件,而是MSVC的工程文件,想要makefile要指定编译器和编译选项为Unix Makefiles  ​

2. 卡在make

2.1 无法识别make命令

make : 无法将“make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称make : 无法将“make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

安装以下两个软件其中之一:

https://www.msys2.org/

https://sourceforge.net/projects/mingw/files/latest/download?source=files

MinGW安装步骤比较简单,下面只介绍MinGW的安装方法:

1.下载好后安装,出现让你选择packages的界面,啥都不选直接退出。

此时查看D:\MinGW\bin文件夹,应该只有一个文件:

2.添加环境变量D:\MinGW\bin

3.从cmd输入命令下载,可以只装mingw32-make
mingw-get install mingw32-make gcc g++

为了方便,可以把mingw32-make.exe复制一份改名为make.exe,以后直接使用make命令就行。

现在就可以正常make了

http://www.lryc.cn/news/448331.html

相关文章:

  • 一文读懂Python中的Popen函数
  • 07-阿里云镜像仓库
  • net core mvc 数据绑定 《2》
  • 文件服务器FastDFS 消息队列中间件RabbitMQ
  • 工作纪实58-Idea打jar包
  • ELK-03-skywalking监控linux系统
  • HEITRONICS TC13红外辐射高温计CT13 INFRARED RADIATION PYROMETER CT13
  • 开源图像降噪算法与项目介绍【持续更新】
  • RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用
  • 启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍
  • vector的模拟实现以及oj题(2)
  • 数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程
  • JAVA JDK华为云镜像下载,速度很快
  • 【RKNN系列】官方函数:querystring
  • Stable Diffusion零基础学习
  • C#基于SkiaSharp实现印章管理(9)
  • 研究生如何利用ChatGPT帮助开展日常科研工作?
  • 汽车零部件开发流程关键阶段
  • Magnific推V2图像生成服务 可直出4K图像
  • E9OA解决文档附件没有关联文档正文问题
  • EasyExcel日常使用总结
  • 人只活一次,活出一道光吧
  • sqli-labs:1~16(sql注入点稳定判断语句、全回显半回显报错回显无回显利用思路、sql注入tips)
  • springboot农产品销售信息微信小程序—计算机毕业设计源码35557
  • HuggingChat macOS 版现已发布
  • C#:动态为Object对象添加新属性的方法
  • 我常用的几个Python金融数据接口库,非常好用~
  • 【机器学习】ID3、C4.5、CART 算法
  • UE5: Content browser工具编写02
  • 【ARM】MDK-当选择AC5时每次点击build都会全编译