ROS2视觉与控制——黑马程序员ROS2课程上课笔记(4)

opencv中的图像为BGR,摄像头为RGB

数字图像本质案例
实现图片显示
  • ai提示词
    帮我创建一个文件取名为01_create_image,要求通过opencv创建一张300×300的图片,背景为黑色,将第三行到第十行的内容为红色,并且输出效果
实现摄像头显示
  • ai提示词
    1、帮我创建一个文件02_read_camera,要求读取摄像头数据,并且进行显示
    2、将摄像头第50行50列到第100行200列的区域颜色设置为红色
hsv

H:色相

S:饱和度

V:亮度

  • ai提示词
    创建一个文件,取名为03_hsv_test,要求读取hsv的数据,将摄像头数据由BGR转换为hsv,对hsv进行分离显示
掩膜与形态学
形态学

腐蚀:只要覆盖的区域有一个像素是黑的,中心点就会变黑

膨胀:只要核覆盖区域里有一个是白的,中心点就会变白

步骤:先腐蚀后膨胀

hsv调节框选物体
  • ai提示词
    帮我创建一个文件,取名叫做04_HSV_MASK,要求读取摄像头数据,提供hsv调节方式,实时显示原图结果图,MASK图,要求提供腐蚀膨胀操作
物体实时坐标获取

1、读取摄像头数据

2、指定hsv阈值

3、指定腐蚀膨胀阈值

4、框选出物体

5、显示物体在图像中的实时坐标

  • ai提示词
    帮我创建一个文件取名05_hsv_mask_location,要求通过指定的hsv阈值范围,指定腐蚀膨胀值范围,来框选出感兴趣的物体边框,边框采用红色进行框选,并实时标注物体的中心点坐标。
ROS摄像头环境搭建

运行摄像头节点

复制代码
ros2 run usb_cam usb_cam_node_exe 

测试摄像头节点(订阅节点)(新建一个窗口)

复制代码
ros2 run rqt_image_view rqt_image_view
原生图像节点实现

ROS默认为RGB,opencv是BGR

  • ai提示词
    1、帮我在 \home\wind\dev_ws\src 下面创建vision_pkg,要求使用python语言进行开发,同时帮我创建一个节点,camera_native_node
    2、\home\wind\dev_ws\src\vision_pkg\vision_pkg\camera_native_node.py 需要订阅摄像头数据,获取摄像头数据后,通过opencv进行显示

打开摄像头节点

复制代码
ros2 run usb_cam usb_cam_node_exe 

运行刚刚新建的节点

复制代码
ros2 run vision_pkg camera_native_node
hsv图像节点实现
  • ai提示词
    \home\wind\dev_ws\src\vision_pkg\vision_pkg 中创建一个节点,取名hsv_image_node,要求订阅摄像头的广播数据,将订阅的图像数据经过转换交由opencv进行处理,处理的方式参考 \home\wind\dev_ws\src\vision_pkg\test\05_hsv_mask_location.py

    1. 构建工作空间

    cd /home/wind/dev_ws
    colcon build --packages-select vision_pkg
    source install/setup.bash

    2. 运行 HSV 图像处理节点

    ros2 run vision_pkg hsv_image_node

box识别节点实现
  • ai提示词

    \home\wind\dev_ws\src\vision_pkg 下创建一个节点,取名box_detect_node,要求参考 \home\wind\dev_ws\src\vision_pkg\vision_pkg\hsv_image_node.py 节点实现,但是不需要hsv和腐蚀膨胀调节的页面,需要将hsv和膨胀腐蚀阈值固定化,要求这些值方便我进行配置。当获取的图片中识别的坐标位置时,需要将这个坐标位置通过广播发布出去。

  • 打开rqt窗口查看话题信息

    ros2 run rqt_topic rqt_topic

相关推荐
吃着火锅x唱着歌9 分钟前
Effective C++ 学习笔记 条款45 运用成员函数模板接受所有兼容类型
c++·笔记·学习
Capricorn198813 分钟前
Ox Alpha 1M 上下文科研引用失真怎么排查?知芽 Notebook Skill 技术链路实操
人工智能·笔记·python·深度学习·知识图谱·论文笔记
南宫萧幕37 分钟前
计算机四级网络工程师:操作系统原理与计算机网络 · 综合知识点笔记
网络·笔记·计算机网络
weixin_466068111 小时前
《十分钟冥想》精读笔记(下):把正念活成生活方式,附全书10个练习索引
笔记·生活
库玛西3 小时前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
知产xiao_xin9 小时前
知识产权入门 —— 相关权(邻接权)
经验分享·笔记·知识产权
自小吃多10 小时前
DXF文件导入与PCB板框定义笔记
笔记·嵌入式硬件
jike_202612 小时前
iPhone采访录音同时拍现场照片的APP:图片音频同步记录实测
笔记·智能手机·音视频·语音识别
————A13 小时前
Agent 接收用户上传文件
人工智能·笔记·python·状态模式
奔跑的痕迹13 小时前
如何删除引力画报?
笔记