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

环境介绍

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.mzph.cn/news/766906.shtml

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

相关文章

SQL注入四-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件

演示案例: PHP-MYSQL-二次注入-DEMO&74CMSPHP-MYSQL-堆叠注入-DEMO&CTF强网PHP-MYSQL-带外注入-DEMO&DNSLOG #PHP-MYSQL-二次注入-DEMO&74CMS 1、DEMO-用户注册登录修改密码 2、CMS-74CMS个人中心简历功能 黑盒思路:分析功能有添加后对数…

dom元素+CSS实现阶梯动画效果

1.效果 2.代码实现 <template><div class"container"><div class"Box"><div class"box" style"background-color: red;"></div><div class"box" style"background-color: orange;&q…

湖北专升本报名照片需要<40kb怎么解决

湖北专升本报名照片需要<40kb怎么解决

vue 修改element-plus主题色

一、安装SCSS npm install sass --save-dev npm install sass-loader --save-dev npm install node-sass --save-dev npm install vue-style-loader --sava-dev 二、添加主题文件theme.scss forward "element-plus/theme-chalk/src/common/var.scss" with ($col…

特种兵旅游-扬州、南京

一、扬州 Day01 西安咸阳机场->扬州泰州机场&#xff08;扬州地界但是离泰州也嘎嘎近&#xff09;->大运河博物馆&#xff08;需要提前预约&#xff01;&#xff09;&#xff08;超级震撼&#xff09; Day02 瘦西湖&#xff08;门票有点贵&#xff0c;但是蛮值得&#x…

kubernetes负载均衡-service

一、service的概念 1、什么是service 在Kubernetes中&#xff0c;pod是应用程序的载体&#xff0c;当我们需要访问这个应用时&#xff0c;可以通过Pod的IP进行访问&#xff0c;但是这里有两个问题:1、Pod的IP地址不固定&#xff0c;一旦Pod异常退出、节点故障&#xff0c;则会…

量子计算与大模型融合的潜力与挑战探索

量子计算与大模型融合的潜力与挑战探索 1. 背景介绍 随着人工智能技术的飞速发展&#xff0c;大模型在自然语言处理、计算机视觉等领域取得了显著的成果。然而&#xff0c;大模型训练需要大量的计算资源&#xff0c;导致训练时间长、能耗高。量子计算作为一种新型计算方式&am…

【STM32】读写BKP备份寄存器RTC实时时钟

目录 BKP BKP简介 BKP基本结构 BKP测试代码 RTC RTC简介 RTC框图 RTC基本结构 硬件电路 RTC操作注意事项 接线图 初始化 使用BKP解决只初始化一次时间 初始化参考代码 RTC设置时间 RTC读取时间 完整代码 MyRTC.c MyRTC.h main.c BKP BKP简介 BKP&#xff0…

渗透测试-ssh私钥泄露知识记录

1 ssh私钥泄露 1.1 信息探测 渗透其实是针对服务的漏洞探测&#xff0c;然后进行数据包的发送&#xff0c;获取机器的最高权限。 nmap –sV 192.168.0.1常用端口0-1023端口&#xff0c;在扫描结果中查找特殊端口&#xff0c;针对特殊端口进行探测&#xff0c;尤其是对开放大端…

pytorch中tensor类型转换的几个函数

目录 IntTensor转FloatTensor FloatTensor转IntTensor Tensor类型变为python的常规类型 IntTensor转FloatTensor .float函数&#xff1a; FloatTensor转IntTensor .int函数 Tensor类型变为python的常规类型 item函数

阿里云部署MySQL、Redis、RocketMQ、Nacos集群

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容MySQL集群配置云服务器选购CPU选择内存选择云盘选择ESSD AutoPL云盘块存储性能&#xff08;ESSD&#xff09; 镜像选择带宽选择密码配置注意事项 安装docker和docker-compose部署MySQL三主六从半同步集群一主二从同步集群规…

perl:获取同花顺数据--业绩预告

perldoc LWP::UserAgent 如果没有安装&#xff0c;则安装模块&#xff0c;运行 cpanm LWP::UserAgent 。 编写 get_yjyg_10jqka.pl 如下 #!/usr/bin/perl # perl 获取同花顺数据--业绩预告 use LWP::UserAgent; use Encode qw(decode encode); use POSIX; use Data::Dump…

pytorch如何向tensor结尾添加元素或维度--torch.cat()、torch.unsqueeze()的用法

目录 示例1 矢量后增加元素 示例2 tensor维度增加1 示例3 另一种替代unsqueeze的方法 示例1 矢量后增加元素 使用torch.cat()函数 ptorch.Tensor([1,5,0]) ptorch.cat((p, torch.Tensor([4])), 0) 结果&#xff1a; 这里&#xff0c;cat的第一个输入变量用()包绕&#xf…

Request请求参数----中文乱码问题

一: GET POST获取请求参数: 在处理为什么会出现中文乱码的情况之前, 首先我们要直到GET 以及 POST两种获取请求参数的不同 1>POST POST获取请求参数是通过输入流getReader来进行获取的, 通过字符输入流来获取响应的请求参数, 并且在解码的时候, 默认的情况是 ISO_885…

由浅到深认识Java语言(21):Math类

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

GaussDB WDR分析之集群报告篇

AWR报告目前已经成为Oracle DBA分析问题&#xff0c;定位故障最为重要的报告&#xff0c;阅读与分析AWR报告的技能也是Oracle DBA必备的技能。国产数据库为了提高运维便捷性&#xff0c;都在做类似Oracle AWR报告的模仿&#xff0c;只不过由于指标体系不够完善&#xff0c;因此…

postman 用上一个请求的响应体中的字段设置下一个请求的请求参数

文章目录 IntroPostman usagePre-request ScriptTests javascripts API Intro 这一切都是为了增加自动化动作所占的比例&#xff08;减少人手工操作复制粘贴可能会造成的错误&#xff09;。 Postman usage 最常用的&#xff1a;选HTTP方法类型、写URL&#xff0c;在Headers中…

无锁队列(Lock-Free Queue)

一、什么是无锁队列 无锁队列&#xff08;Lock-Free Queue&#xff09;是一种不使用锁机制&#xff08;如互斥锁或读写锁&#xff09;来实现线程安全的数据结构&#xff0c;是lock-free中最基本的数据结构。它通过复杂的原子操作&#xff08;如CAS操作&#xff0c;在C中&#x…

MySQL数据库(基础篇一)

一、数据库基本知识 1.1 基础知识&#xff1a; 数据库的作用&#xff1a; 用于存储网页中接收到的数据 数据库&#xff1a; 就是用来存储数据的那个文件 常见的数据库管理软件&#xff1a;MySQL、Oracle、SqlServer、DB2...&#xff0c;通过使用数据库管理软件可以更高效的管理…

如何解决Layui后台接口返回数据,但是table.render不渲染表格数据的问题

我这边进行了pareData数据格式转换&#xff0c;response重新定义了layui的参数格式规范 接口正常返回了数据 但是就是不渲染&#xff0c;我这个郁闷啊&#xff01;&#xff01; 忽然&#xff0c;我把后台重新定义的layui规定的格式参数&#xff0c;有个参数名叫data&#xff0…