YOLOv8-ROS-noetic+USB-CAM目标检测

news2024/11/18 6:18:49

环境介绍

Ubuntu20.04
Ros1-noetic
Anaconda-yolov8虚拟环境

本文假设ROS和anaconda虚拟环境都已经配备,如果不知道怎么配备可以参考:
https://blog.csdn.net/weixin_45231460/article/details/132906916

创建工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

🍀 编译工作空间

cd ~/catkin_ws
catkin_make

安装usb-cam

参考USB摄像头的安装和使用

配置yolov8-ros

1.下载功能包

cd ~/catkin_ws/src
git clone https://github.com/Gaofan666/Yolov8_ros.git

打开Yolov8_ros/yolov8_ros文件夹内容如下:
在这里插入图片描述

2.更新ultralytics和weights

现在我们要替换两个东西,一个是ultralytics文件夹,这个ultralytics是80.0.92版本的比较旧,直接删掉即可。去yolov8官网下载最新版的ultralytics或者替换自己的文件夹放进来,这里贴一个链接:

git clone https://github.com/ultralytics/ultralytics.git

第二个要替换的是weights文件夹下默认有一个yolov8s.pt,删掉去官网下载最新的放进来即可。

https://github.com/ultralytics/ultralytics

3. 虚拟环境装rospkg

用到哪个python解释器就在哪个虚拟环境装一下rospkg,比如我用的虚拟环境是yolov8,运行以下命令:

conda activate yolov8
pip install rospkg

4.指定python解释器

修改yolov8_ros/scripts/yolo_v8.py,文档开头的 /usr/bin python 替换为yolov8虚拟环境的解释器的位置。

#!/home/hhh/.conda/envs/yolov8/bin/python3.8

在这里插入图片描述
如果不知道python解释器在哪,可以用下面的命令查看

whereis python

在这里插入图片描述

5. 更改图像话题和权重文件路径

修改yolov8检测的图像话题在/Yolov8_ros/yolov8_ros/launch/yolo_v8.launch文件中,修改,如果是用的usb-cam的话题,一般是

/usb_cam/image_raw

在这里插入图片描述
权重文件路径默认是weights目录下。

6. 编译运行

cd ~/catkin_ws
catkin_make
source devel/setup.bash
roscore
roslaunch usb_cam usb_cam-test.launch
roslaunch yolov8_ros yolo_v8.launch

在这里插入图片描述
可以看到左边是usb-cam发布的原图,右边是yolov8-ros发布的检测后的图片。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1540572.html

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

相关文章

【javascript】原型继承

在编程中,我们经常会想获取并扩展一些东西。 例如,我们有一个 user 对象及其属性和方法,并希望将 admin 和 guest 作为基于 user 稍加修改的变体。我们想重用 user 中的内容,而不是复制/重新实现它的方法,而只是在其之…

黑马程序员:C++核心编程——2.引用

引用的作用是给变量起别名,本名和别名都可以操作同一块地址的数据。 注意事项 1)引用必须初始化且在初始化后不可改变。大白话是创建时不能不说是谁的别名,更不能在创建之后修改为其他人的别名。 2)*重点:函数传参的…

蓝桥杯b组C语言组一个月怎么准备?

蓝桥杯b组C语言组一个月怎么准备? C/C程序设计组其中主要的是C算法竞赛选手 1.面对算法竞赛C语言缺少很多便捷性的数据结构,应该快速了解并掌握C的stl。 2.蓝桥杯俗称篮球杯,含金量大海捞针,其中练好dfs的暴力搜索能够骗取相当的…

从信号完整性角度看电容应用与计算

从信号完整性的角度来看,电容在电子电路中具有关键的应用。电容是一种被用来存储电荷并在电路中传递电流的被动元件,它对信号完整性有着重要的影响。 1. 去耦电容的选择 电容类型总结表格 实际的电容并不是理想,表现为: a.电…

网页无插件视频播放器,支持录像、截图、音视频播放,多路播放等,提供源码下载

前言 本播放器内部采用jessibuca插件接口,支持录像、截图、音视频播放等功能。播放器播放基于ws流,分屏操作支持1分屏、4分屏、6分屏、9分屏方式。 jessibuca工作原理是通过Emscripten将音视频解码库编译成Js(WebAssembly,简称was…

人工智能的迷惑行为:AI世界的隐秘角落

人工智能迷惑行为大赏 在当今数字化时代,人工智能技术的飞速发展给我们的生活带来了诸多便利和可能性,但同时也伴随着一些令人困惑的现象和行为。本文将深入探讨人工智能的迷惑行为,揭示AI世界中的隐秘角落,让我们一同探寻这个充…

鸿蒙Harmony应用开发—ArkTS-if/else:条件渲染

ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和else if渲染对应状态下的UI内容。 说明: 从API version 9开始,该接口支持在ArkTS卡片中使用。 使用规则 支持if、else和else if语句。 if、else if后跟随的条件语句…

框架结构模态分析/动力时程分析Matlab有限元编程 【Matlab源码+PPT讲义】|梁单元|地震时程动画|结果后处理|地震弹性时程分析| 隐式动力学

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

上位机图像处理和嵌入式模块部署(qmacvisual之ROI设定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 ROI,全称是region of interest,也就是感兴趣区域。这里面一般分成两种情况,一种是所有的算法都依赖于这个ROI&a…

Visual Studio - Platform Toolset

Visual Studio - Platform Toolset 1. Microsoft Visual Studio 2013 - Platform Toolset2. Microsoft Visual Studio 2015 - Platform ToolsetReferences 1. Microsoft Visual Studio 2013 - Platform Toolset (right mouse click on the project) -> 属性 -> 配置属性…

鸿蒙Harmony应用开发—ArkTS-应用级变量的状态管理

状态管理模块提供了应用程序的数据存储能力、持久化数据管理能力、UIAbility数据存储能力和应用程序需要的环境状态。 说明: 本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 本文中T和S的含义…

41-Vue-webpack基础

webpack基础 前言什么是webpackwebpack的基本使用指定webpack的entry和output 前言 本篇开始来学习下webpack的使用 什么是webpack webpack: 是前端项目工程化的具体解决方案。 主要功能:它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览…

Unity:2D

目录 1. 简介 2. 2D Sorting 3. 9-slicing Sprites 3.1 9-slicing and Colliders 4. Sprite Renderer 5. Sprite Creator 6. Sprite Editor 6.1 Slice 6.1 Resize polygons 6.2 Custom Outline 6.3 Custom Physics Shape 6.4 Secondary Textures 6.5 Data Provider…

AI在融媒体领域的应用探讨

AI在融媒体领域的应用探讨 ChatGPT是人工智能的一种应用形式,它属于自然语言处理(NLP,Nature Language Process)领域。 2022年11月30日,由人工智能实验室OpenAI发布的对话式大型语言模型ChatGPT一夜爆火,…

BUUCTF-Misc12

[BJDCTF2020]纳尼1 1.打开附件 一张打不开的图片和一个没什么用的文本文档 2.010 Editor 用010 Editor 打开6.gif这个文件 发现文件头缺少 .gif 的文件头是47 49 46 38 添加文件头并保存 得到一个动图,由四张图片组成 得到一串看似像base64的编码:Q…

解析SpringBoot自动装配原理前置知识:解析条件注释的原理

什么是自动装配? Spring提供了向Bean中自动注入依赖的这个功能,这个过程就是自动装配。 SpringBoot的自动装配原理基于大量的条件注解ConditionalOnXXX,因此要先来了解一下条件注解相关的源码。 以ConditionalOnClass为例 首先来查看Conditi…

本地运行环境工具UPUPWANK(win)和Navicat数据库管理工具

UPUPWANK安装地址:https://www.upupw.net 1.进入UPUPWANK后点击一键开启 2.新增项目 这里请千万注意80端口,如果80端口被占用了,请记住去任务管理器关闭占用80端口的进程。不然就不会成功显示。(笔者含泪警告,一晚上的…

Python Qt Designer 初探

代码下载在最下面 #开发环境安装# 本示例在Windows11下, 使用VSCode开发, Python 3.12.2, Qt Designer 5.11 VSCode插件Python、Python Debugger、PYQT Integration、Pylance (准备) VSCode自行官网下载 Visual Studio Code - Code Editing. Redefined (准备) Python 直接…

Linux进程的管理和进程的状态

进程的基本概念: 程序的一个执行实例 ,正在执行的程序等等 ——— 课本概念 担当分配系统资源的实体,例如cpu时间,内存 -----内核的观点 一、进程的管理 processbar 存储在磁盘中的可执行文件 可执行文件在启动/运行的同时&…

Photoshop 工具使用详解(全集 · 2024版)

全面介绍 Photoshop 工具箱里的工具,点击下列表格中工具名称或图示,即可查阅工具的使用详解。 移动工具Move Tool移动选区、图层和参考线。画板工具Artboard Tool创建、移动多个画布或调整其大小。moVe快捷键:V 矩形选框工具 Rectangular Mar…