rbx1代码解读-rbx1_vision

ROS1/一代机器人系统 少儿编程 453浏览 0评论
rbx1代码解读

rbx1代码解读-rbx1_vision

说明:

  • 介绍如何应用视觉相关

文件树及说明:

├── CMakeLists.txt
├── data
│   ├── haar_detectors                        #haar_detectorst检测
│   │   ├── haarcascade_eye.xml
│   │   ├── haarcascade_frontalface_alt2.xml
│   │   ├── haarcascade_frontalface_alt.xml
│   │   ├── haarcascade_fullbody.xml
│   │   ├── haarcascade_profileface.xml
│   │   └── haarcascade_upperbody.xml
│   └── templates
│       ├── faces
│       │   ├── mona_lisa.jpg
│       │   └── mona_live
│       │       └── Template_0.png
│       └── ros
│           ├── ros.jpg
│           └── turtlebot.jpg
├── launch
│   ├── camshift.launch                        #启动camshit节点,实现目标跟踪
│   ├── cv_bridge_demo.launch                  #启动cvbringe节点
│   ├── face_detector.launch                   #启动人脸检测节点
│   ├── face_tracker2.launch                   #启动人脸追踪2节点
│   ├── face_tracker.launch                    #启动人脸追踪节点
│   ├── good_features.launch                   #启动关键特征点节点
│   ├── includes
│   │   └── device_hydro.launch.xml
│   ├── lk_tracker.launch                      #启动LK光流追踪节点
│   ├── openni_tracker.launch                  #启动骨架追踪节点
│   ├── passthrough2.launch                    #启动多个passthrough滤波器点云处理
│   ├── passthrough.launch                     #启动passthrough滤波器点云处理
│   ├── ros2opencv2.launch                     #启动ROS与opencv交互工具,发布roi话题
│   ├── template_tracker.launch
│   ├── usb_cam.launch                         #启动测试USB webcam
│   ├── uvc_camera.launch                      #启动利用UVC驱动打开摄像头发布话题节点
│   ├── video2ros.launch                       #启动视频转化成ROS话题节点
│   └── voxel.launch                           #启动VoxelGrid滤波器点云处理
├── mainpage.dox
├── nodes
│   ├── camshift.py                            #执行色块追踪
│   ├── common.py
│   ├── cv_bridge_demo.py                      #处理Opencv和ROS之间的图像格式变换
│   ├── face_tracker2.py                       #执行人脸追踪,动态选定区域
│   ├── face_tracker.py                        #执行人脸追踪
│   ├── fast_template.py
│   ├── template_tracker.py
│   ├── video2ros.py                           #视频文件转换成ROS视频流
│   └── video.py
├── package.xml
├── pcl.rviz
├── scripts+
│   ├── common.py
│   ├── pyrdown.py
│   ├── script_good_features.py
│   ├── script_match_template.py
│   ├── script_video.py
│   └── test_images
│       ├── mona_lisa_face.png
│       ├── mona_lisa_face_rotated_45.png
│       └── mona_lisa.png
├── setup.py
├── skeleton_frames.rviz
├── src                                    #python包
│   └── rbx1_vision
│       ├── face_detector.py               #haar方法的人脸检测,比较慢
│       ├── good_features.py               #显示选定区域的关键点
│       ├── __init__.py
│       ├── lk_tracker.py                  #LK光流跟踪选定区域的关键点
│       └── ros2opencv2.py                 #ROS与opencv交互工具集实现
└── videos
    └── hide2.mp4                          #测试的小视频

重要知识点:

nodes/camshift.py

  • CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的
  • 节点利用opencv的camshift算法获取兴趣区域并ROS发布ROI节点

nodes/cv_bridge_demo.py

  • cv_bridge, ROS使用cv_bridge来处理Opencv和ROS之间的图像格式变换

src/ros2opencv2.py

  • ROS与Opencv之间交互工具集,比如图像格式变换,输出文本,通过鼠标选择兴趣区域。

您必须 登录 才能发表评论!