YOLOv8 Windows c++推理

news2024/11/18 11:30:53
#添加一个**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.coloradmin.cn/o/2176112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Power Query】三大容器及元素提取

三大容器 Table; List; Record 表 (Table): Table一般是从外部导入的 如果非要手动生成,可以这样: #table({"学号","姓名","平时分"},{{1,"Alice",99},{2,"Beige&quo…

Nacos 是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台,旨在帮助开发者更轻松地构建、部署和管理微服务应用。

Nacos 是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台,旨在帮助开发者更轻松地构建、部署和管理微服务应用。Nacos 提供了一系列的功能来支持服务注册与发现、配置管理、服务元数据管理、流量管理、服务健康检查等,是构建云原生应用和服务网…

【C++】— 类和对象(2)

文章目录 💞1.类的默认成员函数💞2.构造函数💞3.析构函数💞4.拷贝构造函数💞5.赋值运算符重载💞5.1 运算符重载💞5.2 赋值运算符重载 💞6.取地址运算符重载💞6.1const成员…

中国算力大会启幕,联想发布异构智算产业创新成果

9月27日,2024中国算力大会在河南郑州拉开帷幕。作为全球领先的算力基础设施和服务提供商,联想集团参会参展并携手异构智算产业联盟承办2024异构智算产业生态联盟技术论坛。 据「TMT星球」了解,论坛发布了新一代AI服务器、AI应用部署解决方案…

如何用AI完成毕业论文

一、利用 AI 辅助资料收集 AI 可以帮助你快速搜索大量与毕业论文相关的资料,节省时间和精力。 writehelp智能写作辅导:http://www.writehelp.vip/?sid17,限时免费提供开题报告、任务书和答辩PPT。 二、借助 AI 生成提纲 它能根据你的研究主…

【C++】继承,菱形继承,虚拟继承,组合详解

目录 1. 继承概念与定义 1.1 概念 1.2 定义 2. 父类与子类的赋值规则 3. 继承的作用域 4. 子类的默认成员函数 5. 继承与友元 6. 继承与静态成员 7. 菱形继承 7.1 继承关系 7.2 菱形继承的问题 7.3 虚拟继承 8. 继承与组合 1. 继承概念与定义 1.1 概念 1. 继承&a…

基于SpringCloud的微服务架构下安全开发运维准则

为什么要进行安全设计 微服务架构进行安全设计的原因主要包括以下几点: 提高数据保护:微服务架构中,服务间通信频繁,涉及到大量敏感数据的交换。安全设计可以确保数据在传输和存储过程中的安全性,防止数据泄露和篡改。…

物联网迎来下半场,国产 IoTOS 打造企业级智能硬件云服务平台

如有需求,文末联系小编 氦氪云 IoTOS 是一套先进的企业级物联网解决方案平台,为万物互联提供可靠安全稳定的终端接入、协议适配、消息路由、数据存储和分析、应用使能等核心功能。面向物联网领域中的终端设备商、系统集成商、应用服务商、能力提供商等&a…

定积分中静水压力问题

静水压力与定积分 静水压力问题是定积分在物理学中的一个重要应用。它利用积分的思想,将一个复杂的、连续变化的压力分布问题转化为一系列微小压力单元的累加,最终求出总压力。 基本原理: 静水压力是指静止液体对浸在其中的物体表面所施加…

BUG——IMX6ULL编译正点原子Linux内核报错

最初编译的是正点原子改过的Linux内核,可能是版本问题,一直报错,无法成功编译。然后换成NXP官方Linux内核6.6版本,初始编译虽然也报各种错,但都是缺少库或相关工具,全部安装后就可以成功编译出镜像了&#…

【RocketMQ】MQ与RocketMQ介绍

🎯 导读:本文介绍了消息队列(MQ)的基本概念及其在分布式系统中的作用,包括实现异步通信、削峰限流和应用解耦等方面的优势,并对ActiveMQ、RabbitMQ、RocketMQ及Kafka四种MQ产品进行了对比分析,涵…

【Canvas与诗词】秋夕.杜牧(银烛秋光冷画屏......)

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>金六边形外圈绿色底录杜牧秋夕诗</title><style type"…

Unity实战案例全解析:RTS游戏的框选和阵型功能(1) 基础要素

本案例来源于unity唐老狮&#xff0c;有兴趣的小伙伴可以去泰克在线观看该课程 【唐老狮】Unity实现 即时战略游戏 阵型功能 - 泰课在线 -- 志存高远&#xff0c;稳如泰山 - 国内专业的在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG - Powered…

【CTF Web】Pikachu 反射型xss(get) Writeup(反射型XSS+GET请求)

XSS&#xff08;跨站脚本&#xff09;概述 Cross-Site Scripting 简称为“CSS”&#xff0c;为避免与前端叠成样式表的缩写"CSS"冲突&#xff0c;故又称XSS。一般XSS可以分为如下几种常见类型&#xff1a; 1.反射性XSS; 2.存储型XSS; 3.DOM型XSS; XSS漏洞一直被评估…

Java基于easyExcel的自定义表格格式

这里用的到easyExcel版本为3.3.4 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.4</version></dependency> 效果 代码部分 package com.tianyu.test;import com.alibaba.exc…

全网最适合入门的面向对象编程教程:54 Python字符串与序列化-字符串格式化与format方法

全网最适合入门的面向对象编程教程&#xff1a;54 Python 字符串与序列化-字符串格式化与 format 方法 摘要&#xff1a; 在 Python 中&#xff0c;字符串格式化是将变量插入到字符串中的一种方式&#xff0c;Python 提供了多种字符串格式化的方法&#xff0c;包括旧式的 % 格…

BFS之最短路径模型

当一个图的每个边的权重都一样的时候&#xff0c;会有一个最短路径模型。不需要考虑边的影响。 1076. 迷宫问题 - AcWing题库 #include<iostream> #include<queue> #include<utility> #include<algorithm> #include<stack> using namespace std…

C语言课程设计题目七:学生成绩管理系统设计

题目七&#xff1a;学生成绩管理系统设计 学生成绩信息包括&#xff1a;学期&#xff0c;学号&#xff0c;班别&#xff0c;姓名&#xff0c;四门课程成绩(语文、数学、英语和计算机)等。 主要功能&#xff1a; 能按学期、按班级完成对学生成绩的录入、修改。能按班级统计学生…

力扣最热一百题——颜色分类

目录 题目链接&#xff1a;75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 题目描述 示例 提示&#xff1a; 解法一&#xff1a;不要脸用sort Java写法&#xff1a; 运行时间 解法二&#xff1a;O1指针 Java写法&#xff1a; 重点 运行时间 C写法&#xff1a;…