ROS使用USB摄像头运行pi_face_tracker,进行人脸识别

1、  明确USB摄像头的型号。

在终端键入$lsusb ,会显示所有的摄像头的型号编码,具体参考:

http://www.ideasonboard.org/uvc/


hl@hl-System-Product-Name:~$ lsusb
Bus 001 Device 011: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 1a2c:0002 China Resource Semico Co., Ltd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


我的是 Logitech Webcam C270



2、  安装uvc驱动。

$sudo apt-get install ros-indigo-uvc-camera

$source /opt/ros/indigo/setup.bash

在网上找了很多基于ROS版本的驱动,硬是没有安装成功,索性采用apt-get的方式,直接装在了ROS的安装路径中,并设置工作路径。

安装成功后在/opt/ros/indigo/的路径中就会找到uvc_camera_node。






3、  显示图片

$rosrun uvc_camera uvc_camera_node

$rosrun image_view image_view image:=/image_raw

安装成功后,查看rostpic list,会看到很多话题,调用其中的一个话题就可以正常显示采集的图片,如下所示。



4、显示视频 


sudo apt-get install ros-indigo-openni-launch


$ roslaunch ros2opencv uvc_cam.launch 或者 

$ roslaunch usb_cam usb_cam-test.launch

4图像识别


图像识别需要下载  pi_face_tracker 里面有 图像识别的代码

https://github.com/hansonrobotics/pi_vision


Installation

Requirements:

  • ros-indigo-openni-camera
  • mjpeg_server
  • usb_cam
apt-get install ros-indigo-cv-bridge ros-indigo-image-transport
apt-get install ros-indigo-mjpeg-server
apt-get install ros-indigo-openni-camera
apt-get install ros-indigo-usb-cam


git clone https://github.com/hansonrobotics/pi_vision
cd catkin; catkin build
source devel/setup.bash

Run

To change camera settings modify the usb_cam.launch file.

roslaunch ros2opencv usb_cam.launch 
roslaunch pi_face_tracker face_tracker_usb_cam.launch


5.把usb摄像头的视频图像接到图像识别的代码中,进行图像识别

将usb摄像头作为输入到人脸识别人的uvc_cam.launch中,需要做如下修改

1、修改usb_cam-test.launch,删除"image_view" 这个节点。

2、修改face_tracker_uvc_cam.launch文件,修改这一句为

3、运行roscore  和   roslaunch uvc_cam-test.launch

4、运行roslaunch pi_face_tracker face_tracker_uvc_cam.launch

好了,你可以看到你摄像头里的头像,你的脸被识别出来了。

第二种方法是用kinect作为输入设备。

这个比较简单,接好kinect 设备后,按步骤就可以完成。

$ roslaunch ros2opencv openni_node.launch
$ roslaunch pi_face_tracker face_tracker_kinect.launch

你可能感兴趣的:(ROS)