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
Requirements:
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
To change camera settings modify the usb_cam.launch file.
roslaunch ros2opencv usb_cam.launch
roslaunch pi_face_tracker face_tracker_usb_cam.launch
将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