ROS从入门到放弃——用TurtleBot3在仿真环境里使用OpenCV和手动实现Hough Transformation

这篇博客介绍了如何在ROS的TurtleBot3仿真环境中,利用OpenCV进行图像处理,包括显示摄像头图像、保存npy文件及应用Hough Transformation进行边缘检测和线条提取。首先在Gazebo中开启仿真环境,然后通过订阅Topic获取图像并用OpenCV显示。接着,展示了如何在图像上画矩形以及保存图像数据。最后,讲解了Canny边缘检测和Hough Transformation的应用步骤,给出了不同阶段的图像效果。
摘要由CSDN通过智能技术生成

ROS从入门到放弃——用TurtleBot3做OpenCV仿真

0. 准备工作

首先,我们打开Gazebo仿真环境(否则你摄像头里没东西)

export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_gazebo turtlebot3_world.launch

然后,我们可以观察一个名为/camera/rgb/image_raw的Topic,它使用的msg类型为sensor_msgs/Image,具体定义如下:

std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
uint32 height
uint32 width
string encoding
uint8 is_bigendian
uint32 step
uint8[] data

我们下一步的目的就是通过OpenCV将这个图像绘制出来。

OpenCV库的安装

1. 显示摄像头的图片

我们在自己的一个pkg(我的叫mytest)的scripts里面新建一个python文件,名字为displayAnIMG.py

#!/usr/bin/env python
from __future__ import print_function

import sys
import rospy
import cv2
from std_msgs.msg import String
from sensor_msgs.msg import Image  # 这是我们/camera/rgb/image_raw使用的消息类型
from cv_bridge import CvBridge, CvBridgeError

class image_converter:

    def __init__(self):
        self.bridge = CvBridge()
        self.image_sub = rospy.Subscriber("/camera/rgb/image_raw",Image,self.callback)
    
    def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值