【Linux学习】OpenCV+ROS 实现人脸识别(Ubantu16.04)

本文详述了在Ubuntu 16.04上利用ROS和OpenCV进行人脸识别的步骤,包括环境配置(ROS安装、摄像头调用、OpenCV导入)、创建ROS工作空间和功能包、编写及测试代码(涉及CvBridge)、解决常见报错,以及最终的人脸识别效果展示。文章还提及了未来对提高人脸识别精度的思考。
摘要由CSDN通过智能技术生成

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

前言

本文主要学习 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

调用摄像头成功,如下图所示:

file

摄像头的驱动发布的相关数据,如下图所示:

file

摄像头 usb_cam/image_raw 这个话题,发布的消息的具体类型,如下图所示:

file

那么图像消息里面的成员变量有哪些呢?

打印一下就知道了!一个消息类型里面的具体成员变量,如下图所示:

file

  • Header:很多话题消息里面都包含的

    消息头:包含消息序号,时间戳和绑定坐标系

    消息的序号:表示我们这个消息发布是排第几位的,并不需要我们手动去标定,每次

    发布消息的时候会自动地去累加

    绑定坐标系:表示的是我们是针对哪一个坐标系去发布的header有时候也不需要去配置

  • height:图像的纵向分辨率

  • width:图像的横向分辨率

  • encoding:图像的编码格式,包含RGB、YUV等常用格式,都是原始图像的编码格式,不涉及图像压缩编码

  • is_bigendian: 图像数据的大小端存储模式

  • step:一行图像数据的字节数量,作为数据的步长参数

  • data:存储图像数据的数组,大小为step×height个字节

  • format:图像的压缩编码格式(jpeg、png、bmp)

3.导入OpenCV

file

在ROS当中完成OpenCV的安装,命令行如下图所示:

sudo apt-get install ros-kinetic-vision-opencv libopencv-dev python-opencv

安装完成

file

二、创建工作空间和功能包

1.创建工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
  • 创建完成工作空间后,在根目录下面,执行编译整个工作空间
cd ~/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值