镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
前言
本文主要学习 ROS机器人操作系统 ,在ROS系统里调用 OpenCV库 实现人脸识别任务
一、环境配置
1.安装ROS
sudo apt-get install ros-kinetic-desktop-full
2.摄像头调用
安装摄像头组件相关的包,命令行如下:
sudo apt-get install ros-kinetic-usb-cam
启动摄像头,命令行如下:
roslaunch usb_cam usb_cam-test.launch
调用摄像头成功,如下图所示:
摄像头的驱动发布的相关数据,如下图所示:
摄像头 usb_cam/image_raw 这个话题,发布的消息的具体类型,如下图所示:
那么图像消息里面的成员变量有哪些呢?
打印一下就知道了!一个消息类型里面的具体成员变量,如下图所示:
Header:很多话题消息里面都包含的
消息头:包含消息序号,时间戳和绑定坐标系
消息的序号:表示我们这个消息发布是排第几位的,并不需要我们手动去标定,每次
发布消息的时候会自动地去累加
绑定坐标系:表示的是我们是针对哪一个坐标系去发布的header有时候也不需要去配置
height:图像的纵向分辨率
width:图像的横向分辨率
encoding:图像的编码格式,包含RGB、YUV等常用格式,都是原始图像的编码格式,不涉及图像压缩编码
is_bigendian: 图像数据的大小端存储模式
step:一行图像数据的字节数量,作为数据的步长参数
data:存储图像数据的数组,大小为step×height个字节
format:图像的压缩编码格式(jpeg、png、bmp)
3.导入OpenCV
在ROS当中完成OpenCV的安装,命令行如下图所示:
sudo apt-get install ros-kinetic-vision-opencv libopencv-dev python-opencv
安装完成
二、创建工作空间和功能包
1.创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
- 创建完成工作空间后,在根目录下面,执行编译整个工作空间
cd ~/