OpenCV工具使用非常广。关于在ROS2中如何使用的博客一直没有更新:

最早,2019年:ROS2使用OpenCV基础

最近更新了一些:

  • ROS2之OpenCV基础代码对比foxy~galactic~humble

仿真中使用习题如下:

  • ROS2+Gazebo11+Car+OpenCV巡线识别和速度转向控制学习

那么如何实现如下的人脸识别效果呢?

蒙娜丽莎的微笑,永远那么神秘……


遇到的问题如:

[INFO] [1655036597.738995500] [face_detection]: Receiving image
Traceback (most recent call last):File "/opt/ros/humble/local/lib/python3.10/dist-packages/cv_bridge/core.py", line 194, in imgmsg_to_cv2res = cvtColor2(im, img_msg.encoding, desired_encoding)
RuntimeError: [8UC3] is not a color format. but [bgr8] is. The conversion does not make senseDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/zhangrelay/ros_ws/opencv_ros2-main/opencv_ros2/face_detection.py", line 95, in <module>main()File "/home/zhangrelay/ros_ws/opencv_ros2-main/opencv_ros2/face_detection.py", line 84, in mainrclpy.spin(face_detection)File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/__init__.py", line 222, in spinexecutor.spin_once()File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 712, in spin_onceraise handler.exception()File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/task.py", line 239, in __call__self._handler.send(None)File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 418, in handlerawait call_coroutine(entity, arg)File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 343, in _execute_subscriptionawait await_or_execute(sub.callback, msg)File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 107, in await_or_executereturn callback(*args)File "/home/zhangrelay/ros_ws/opencv_ros2-main/opencv_ros2/face_detection.py", line 53, in listener_callbackcurrent_frame = self.br.imgmsg_to_cv2(data, "bgr8")File "/opt/ros/humble/local/lib/python3.10/dist-packages/cv_bridge/core.py", line 196, in imgmsg_to_cv2raise CvBridgeError(e)
cv_bridge.core.CvBridgeError: [8UC3] is not a color format. but [bgr8] is. The conversion does not make sense

如何解决呢?

提示:

current_frame = self.br.imgmsg_to_cv2(data, "rgb8")

答案:

[8UC3] is not a color format. but [rgb8] is.


zhangrelay@LAPTOP-5REQ7K1L:~$ ros2 node list
/face_detection
/image_publisher
/rqt_gui_py_node_1492
zhangrelay@LAPTOP-5REQ7K1L:~$ ros2 node info /face_detection
/face_detectionSubscribers:/image_raw: sensor_msgs/msg/ImagePublishers:/parameter_events: rcl_interfaces/msg/ParameterEvent/rosout: rcl_interfaces/msg/LogService Servers:/face_detection/describe_parameters: rcl_interfaces/srv/DescribeParameters/face_detection/get_parameter_types: rcl_interfaces/srv/GetParameterTypes/face_detection/get_parameters: rcl_interfaces/srv/GetParameters/face_detection/list_parameters: rcl_interfaces/srv/ListParameters/face_detection/set_parameters: rcl_interfaces/srv/SetParameters/face_detection/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomicallyService Clients:Action Servers:Action Clients:zhangrelay@LAPTOP-5REQ7K1L:~$

基础概念

什么是人脸检测?
在计算机视觉中,试图解决的一个基本问题是在没有人工干预的情况下自动检测图像中的对象。人脸检测可以被认为是在图像中检测人脸的问题。人类的面部可能存在细微差异,但总的来说,可以肯定地说,某些特征与所有人类面部相关。人脸检测算法有很多种。

人脸检测通常是许多人脸相关技术的第一步,例如人脸识别或验证。然而,人脸检测可以有非常有用的应用。人脸检测最成功的应用可能是拍照。当您为朋友拍照时,数码相机内置的人脸检测算法会检测人脸的位置并相应地调整焦点。

什么是 OpenCV
在人工智能领域,计算机视觉是最有趣和最具挑战性的任务之一。计算机视觉就像计算机软件和我们周围的可视化之间的桥梁。它允许计算机软件理解和了解周围环境的可视化。例如:根据颜色、形状和大小确定水果。这项任务对人脑来说可能很容易,但是在计算机视觉管道中,首先我们收集数据,然后执行数据处理活动,然后训练和教授模型以了解如何根据大小区分水果,水果的形状和颜色。

目前,存在各种软件包来执行机器学习、深度学习和计算机视觉任务。到目前为止,计算机视觉是此类复杂活动的最佳模块。 OpenCV 是一个开源库。它受到各种编程语言的支持,例如 R、Python。它可以在大多数平台上运行,例如 Windows、Linux 和 MacOS。


ROS2之OpenCV人脸识别foxy~galactic~humble相关推荐

  1. ROS2之OpenCV基础代码对比foxy~galactic~humble

    参考: automaticaddison.com/getting-started-with-opencv-in-ros-2-galactic-python/automaticaddison.com/g ...

  2. ROS1/2 机器人编程实践汇总 kinetic/melodic/noetic foxy/galactic/humble

    适用于ROS2 foxy/galactic/humble: ROS2机器人实验报告提示01➡入梦⬅ ROS2机器人实验报告提示02➡沼泽⬅ ROS2机器人实验报告提示03➡迷雾⬅ ROS2机器人实验报 ...

  3. opencv 全志_移植opencv人脸识别到全志A10开发板上 +linux3.0内核

    移植opencv人脸识别 libz:    zlib-1.2.3 libjpeg:   jpegsrc.v6b libpng:   libpng-1.2.18 libyasm:   yasm-0.7. ...

  4. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

  5. 图像识别——(java)opencv(人脸识别简单实现)

    人脸识别 package com.acts.opencv.demo;import javax.servlet.http.HttpServletRequest; import javax.servlet ...

  6. Python+OpenCV人脸识别签到考勤系统(新手入门)

    Python+OpenCV人脸识别签到考勤系统(新手入门) 前言 项目效果图 项目需要的环境 编译器 辅助开发QT-designer 项目配置 代码部分 核心代码 项目目录结构 后记 正式版改进 项目 ...

  7. python opencv人脸识别考勤系统的完整源码

    这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值. 代码如下: import wx import wx.g ...

  8. openCV人脸识别简单案例

    1 基础 我们使用机器学习的方法完成人脸检测,首先需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器.我们需要从其中提取特征.下图中的 Haar 特征会被使用,就像我们的卷积核 ...

  9. 【opencv人脸识别1】从图片中检测人脸

    [opencv人脸识别一]从图片中检测人脸 本系列主要讲述利用opencv实现人脸识别的相关知识,并给出实际代码.且循序渐进,由基础到复杂,从最基本的图片检测人脸到视频检测.识别人脸,再到较大型人脸数 ...

最新文章

  1. mysql 提交_MySQL 事务提交过程
  2. 数学公式识别神器—Mathpix Snip
  3. 远程桌面连接提示“您的凭据不工作”
  4. FPGA设计的常用思想与技巧(转)
  5. 美国喜提刷脸登机,官方开心发通告,竟马上引发公民不适
  6. Win11如何自动关机 windows11自动关机的设置方法
  7. [转载] python笔记:4.1.2.1统计量_离散程度_方差和标准差
  8. 使用cgroup限制某个程序对内存的使用
  9. 无需重装软件,解决不满足升级要求问题,Windows10成功升级Windows11方案——以戴尔XPS15 9550 i7-6700HQ CPU为例
  10. xy轴坐标图数字表示_cad图纸上的X、Y坐标是什么意思? 丫坐标和x坐标图纸上的数...
  11. logit回归模型假设_LOGISTIC回归分析
  12. 网易云音乐突破版权限制
  13. spark本地项目报错:Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
  14. 贪吃的小Q_腾讯2018春招技术类编程题
  15. 华为机试-字符串子序列II
  16. linux怎么配置拨号上网,linux拨号上网怎么设置
  17. Chrome浏览器使用谷歌翻译插件的正确方法
  18. F 魏迟燕的自走棋(思维+贪心+并查集维护联通块/左部点配对边<=2的匈牙利)
  19. dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc
  20. 秒杀全网!研发、运营必备实用工具网站

热门文章

  1. 面向探究的合作学习——WebQuest
  2. HLW8112(8110)在电源转化效率系统的应用
  3. windows下用户变量和系统变量
  4. 软件崩溃了,该如何解决? 解决问题的关键要会对症下药!
  5. 根据抖音账号的分享链接下载无水印视频
  6. 测试总结——大数据测试
  7. vue自适应各种屏幕布局
  8. Snowflake 雪花算法
  9. 重要法则:万法归一——归纳与演绎
  10. java 死锁演示_史上最通俗理解的Java死锁代码演示