实验二 ROS结合OpenCV示例——人脸识别

news2025/1/21 12:45:52

ROS结合OpenCV示例——人脸识别

  • 一、实验原理:
  • 二、实验步骤:
    • <1> 安装opencv 以及串口功能包
    • <2> 测试opencv串口是否安装成功
  • 三、程序分析:

一、实验原理:

Opencv库是一个基于BSD许可发行的跨平台开源计算机视觉库,基于opencv库,可以很方便的入手机器视觉方面的应用,ros已经集成了opencv库和相关接口功能包;
人脸识别的目的是在输入图像中确定人脸的位置、大小、姿态。利用大量样本的Haar特征进行分类器训练,然后调用训练好的瀑布型级联分类器cascade进行模式匹配。进而获取二维包围框。

二、实验步骤:

<1> 安装opencv 以及串口功能包

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

接口功能包的作用就是将ROS中的图像数据转换成opencv格式的图像,并且调用opencv库进行各种图像处理。

<2> 测试opencv串口是否安装成功

(使用usb摄像头示例,作业:使用orbbec实现同样功能)
打开USB摄像头:

$ roslaunch robot_vision usb_cam.launch    (usb摄像头)

启动rqt

$ rosrun rqt_image_view rqt_image_view

此时选择image_raw
在这里插入图片描述
然后使用test查看效果:

$ rosrun robot_vision cv_bridge_test.py

使用usb摄像头时候test.py中的数据:
在这里插入图片描述
如果用orbbec时候需要改动此处为:/amera/rgb/image_raw
在这里插入图片描述
该命令启动另一个视频窗口,如下所示:
在这里插入图片描述
此窗口显示一个红色圆点,是通过opencv转化之后,画上去的小红点。
<3> 调用usb摄像头驱动

$ roslaunch robot_vision usb_cam.launch    (usb摄像头)
$ roslaunch astra_launch astra.launch    (orbbec摄像头)

<4> 启动人脸功能

$ roslaunch robot_vision face_detector.launch 

<5> 启动rqt显示功能

$ rosrun rqt_image_view rqt_image_view

请添加图片描述

三、程序分析:

face_detector.launch文件里面主要程序是face_detector.py源程序,程序主要内容如下所示
初始化

#创建cv_bridge
#获取haar特征的级联表xml文件,文件路径在launch文件中传入
#使用级联表初始化haar特征检测器
#设置级联表参数,优化人脸识别,
#初始化订阅rgb格式图像数据订阅者
ROS 回调函数
#将ROS中的图像数据转换成opencv格式的图像
#创建灰度图像
#创建平衡直方图
#尝试检测人脸
#在opencv窗口框出人脸
#发布识别后的图像
人脸识别
#首先匹配正面人脸模型
#如果正面人脸模型匹配失败,尝试侧面人脸匹配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/468956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32WB55_NUCLEO开发(9)----接收手机数据点亮LED

概述 本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程&#xff0c;并通过与STM32WB配对&#xff0c;向该特征写入一个任意字节&#xff0c;绿色LED会切换。 硬件准备 首先需要准备一个开发板&#xff0c;这里我准备的是NUCLEO-WB55RG 的开发板&#xff1a; 选择芯片…

加拿大各省接受公立教育的初始年龄汇总 — 供携子女赴加的访学、博后参考

近年来到加拿大从事访问学者和博士后研究的申请者日益增多&#xff0c;有些申请者想带孩子同去上公立学校。因为加拿大各省教育局政策有差异&#xff0c;所以入学&#xff08;包括学前班&#xff09;年龄不同&#xff0c;为此知识人网小编整理本文为大家解惑答疑。 加拿大为本国…

GitHub Actions自动发布Package到Pub.dev

一、创建package或plugin 先创建一个package或者plugin 二、手动上传第一个版本到pub.dev flutter packages pub publish --serverhttps://pub.dartlang.org 三、在admin配置自动化发布 打开pub.dev中的对应的package按照以下图片配置 四、在项目跟目录配置发布脚本 1、在…

XMLMapperBuilder解析*mapper.xml

springboot的MybatisAutoConfiguration自动配置类会创建SqlSessionFactory&#xff0c;创建过程就是填充configuration属性&#xff0c;调用buildSqlSessionFactory()方法完成SqlSessionFactory创建&#xff0c;这其中就会创建XMLMapperBuilder解析mapper.xml和XMLConfigBuilde…

UHD在DPDK下进行编译

1.安装choco windows环境,用管理员权限打开 powershell 命令行界面。 输入命令:Set-ExecutionPolicy AllSigned 继续输入命令:Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]…

C++---区间DP/高精度计算---凸多边形的划分(每日一道算法2023.4.27)

注意事项&#xff1a; 本题是"区间DP—能量项链"的扩展题&#xff0c;可以先理解下那道题。 本题使用了"高精度乘法"和"高精度加法"&#xff0c;可以去这两篇文章看&#xff0c;有详解。 题目&#xff1a; 给定一个具有 N 个顶点的凸多边形&…

什么是SSO?

SSO&#xff08;Single Sign On&#xff09;单点登录。SSO是在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 当…

中山大学_程序设计新手赛2023_4题的小朋友_总结

送自己一句话&#xff1a;即使生活很不顺利&#xff0c;也不要成为一个连自己都讨厌的人 那样&#xff0c;当你有一天回首过往&#xff0c;只不过是在演戏中匆匆做过这一生 题目&#xff1a;见我上传的资源 A:关于时间复杂度 解&#xff1a; 1.关键&#xff1a; 法一&…

前端开发之axios请求封装详细讲解

前端开发之axios请求封装 前言1、安装axios2、创建公共文件request3、导入axiso4、初始化axios5、axios请求拦截器6、axios响应拦截器7、handleData&#xff1a;处理请求后来的response8、CODE_MESSAGE&#xff1a;code信息 前言 在vue项目中&#xff0c;和后台交互获取数据这…

openEuler社区人才评定考试流程指引

最近因为公司工作的需要参加考试了openEuler社区人才评定考试&#xff0c;本次考试题型主要包括单选、多选、判断三类题型。考试内容基本都是操作系统使用相关的内容。 考试需要注意事项&#xff1a; 1.考试为线上答题考试&#xff0c;需开启摄像头。 2.考试期间请保持周围环…

SQL server增删改查(1)

SQL server数据类型 整数型: BIGINT INT SMALLINT 小数型: FLOAT DOUBLE 文本型: CHAR VARCHAR NCHAR NVARCHAR TEXT 日期和时间类型 DATE TIME DATETIME 布尔型: BIT 数据类型含义INT长整数(也可以写作INTEGER)SMALLINT短整数CHAR(n)长度为n的定长字符串, 不足n个字符的空白部…

Scala语言入门以及基本语法

文章目录 前言1.环境搭建1) IDEA中插件下载2) SDK下载配置 2.基本使用1&#xff09;var与val的区别2) .基本数据类型3).字符串的基本用法4) 控制结构1) if else2) for 循环3) while循环 5)类6) 函数 前言 scala在一种简洁的高级语言中结合了面向对象和函数式编程。Scala的静态…

8个免费的PNG素材网站推荐

很多设计小白都不知道什么是PNG。事实上&#xff0c;PNG是一种支持透明度的图像格式。当你想在设计中将图像与背景或文本混合时&#xff0c;它就会派上用场。 如果你没有时间为你正在处理的设计创建透明的PNG图像&#xff0c;你也可以使用我收集的PNG素材网站&#xff0c;以便…

【Linux从入门到精通】Linux常用基础指令(中)

本篇文章接上篇文章&#xff08;【Linux从入门到精通】Linux常用基础指令&#xff08;上&#xff09;&#xff09;进行详解。本章的指令相对较为重要&#xff0c;使用频率较高&#xff0c;难度相对上篇文章较难&#xff0c;也较为复杂。希望能对你的理解有所帮助。 文章目录 一…

(Open AI 极简教程)ChatGPT注册登录常见问题及其解决方法最全总结

好久没有更新过技术类的文章了&#xff0c;临近五一假期&#xff0c;首先祝大家假期游玩愉快&#xff0c;也希望本篇文章能够对你有所帮助&#xff0c;今天这篇博客将会把ChatGPT注册中可能遇到的问题彻头彻尾的讲一下&#xff0c;如果感觉有帮助的话就动动你发财的小手点个收藏…

蓝奥声核心技术分享——一种无线低功耗配置技术

1.技术背景 无线低功耗配置技术指基于对目标场景状态变化的协同感知而获得触发响应并进行智能决策&#xff0c;属于蓝奥声核心技术--边缘协同感知(EICS&#xff09;技术的关键支撑性技术之一。该项技术涉及物联网边缘域的无线通信技术领域&#xff0c;具体主要涉及网络服务节点…

3.龙芯2k1000 builroot文件系统编译过程

3.龙芯2k1000 builroot文件系统编译过程 文章目录 3.龙芯2k1000 builroot文件系统编译过程&#xff08;一&#xff09;、在Ubuntu环境下载并配置交叉编译链&#xff08;与内核编译工具链相同&#xff09;&#xff08;二&#xff09;、下载buildroot源码&#xff08;三&#xff…

【Linux命令篇】正则表达式浅析

前言 转义字符是将普通字符转化为特殊字符的一种方式。 在正则表达式中&#xff0c;一些字符被定义为特殊字符&#xff08;也称为元字符&#xff09;&#xff0c;它们具有特殊的含义。这些特殊字符包括&#xff1a; 句点字符 .&#xff1a;可以匹配除了换行符以外的任何单个…

JavaScript经典教程(四)-- JavaScript基础 - BOM、打印、window对象等详解

184&#xff1a;JavaScript基础 - BOM、打印、window对象等详解 185&#xff1a;JavaScript基础 - 数据类型Number及运算符号 1、关键字 &#xff08;3&#xff09;alert - 警告窗 原型&#xff1a;window.alert(); alert实际上是一个函数 注&#xff1a;alert无法弹出部分…

Figma如何导出jpg格式?

在这个追求效率和质量的时代&#xff0c;Figma确实可以加快我们的设计工作&#xff0c;增加效率&#xff0c;功能越来越强大。然而&#xff0c;Figma从未有过中文版本。 但就使用工具而言&#xff0c;一次生两次并不难。设计小白经常卡在最后一步&#xff0c;如何用Figma导出j…