当前位置: 首页 > news >正文

自己如何注册网站wordpress前台构架图

自己如何注册网站,wordpress前台构架图,徐州h5建站,wordpress 忘记密码页面人脸识别需要在输入的图像中确定人脸(如果存在)的位置、大小和姿态,往往用于生物特征识别、视频监听、人机交互等应用中。2001年,Viola和Jones提出了基于Haar特征的级联分类器对象检测算法,并在2002年由Lienhart和Mayd…

人脸识别需要在输入的图像中确定人脸(如果存在)的位置、大小和姿态,往往用于生物特征识别、视频监听、人机交互等应用中。2001年,Viola和Jones提出了基于Haar特征的级联分类器对象检测算法,并在2002年由Lienhart和Maydt进行改进,为快速、可靠的人脸检测应用提
供了一种有效方法。OpenCV已经集成了该算法的开源实现,利用大量样本的Haar特征进行分类器训练,然后调用训练好的瀑布级联分类器cascade进行模式匹配。

应用效果

OpenCV已经集成了人脸识别算法,所以我们不需要重新开发该算法,只需要调用OpenCV相应的接口就可以实现人脸识别的功能。

下面运行例程看一下人脸识别是一种怎样的效果。
使用以下命令启动摄像头,然后运行face_detector.launch文件启动人脸识别功能:

roslaunch robot_vision usb_cam.launch
roslaunch robot_vision face_detector.launch

在这里插入图片描述

源码实现

现在再回头研究这个例程的源码实现方法。该应用的实现代码只有一个文件,即
robot_vision/script/face_detector.py,主要分成以下三个部分。

1.初始化部分
初始化部分主要完成ROS节点、图像、识别参数的设置。

def __init__(self):
rospy.on_shutdown(self.cleanup);

创建cv_bridge

self.bridge = CvBridge()
self.image_pub = rospy.Publisher("cv_bridge_image", Image, queue_size=1)

获取haar特征的级联表的XML文件,文件路径在launch文件中传入

cascade_1 = rospy.get_param("~cascade_1", "")
cascade_2 = rospy.get_param("~cascade_2", "")
# 使用级联表初始化haar特征检测器
self.cascade_1 = cv2.CascadeClassifier(cascade_1)
self.cascade_2 = cv2.CascadeClassifier(cascade_2)
# 设置级联表的参数,优化人脸识别,可以在launch文件中重新配置
self.haar_scaleFactor = rospy.get_param("~haar_scaleFactor", 1.2)
self.haar_minNeighbors = rospy.get_param("~haar_minNeighbors", 2)
self.haar_minSize = rospy.get_param("~haar_minSize", 40)
self.haar_maxSize = rospy.get_param("~haar_maxSize", 60)
self.color = (50, 255, 50)
# 初始化订阅rgb格式图像数据的订阅者,此处图像topic的话题名可以在launch文件中重映射
self.image_sub = rospy.Subscriber("input_rgb_image", Image, self.image_callback, queue_size=1)

2.ROS图像回调函数
例程节点收到摄像头发布的RGB图像数据后进入回调函数,将图像转换成OpenCV的数据
格式,然后预处理之后开始调用人脸识别的功能函数,最后发布识别结果。
def image_callback(self, data):

使用cv_bridge将ROS的图像数据转换成OpenCV的图像格式

try:
cv_image = self.bridge.imgmsg_to_cv2(data, "bgr8")
frame = np.array(cv_image, dtype=np.uint8)
except CvBridgeError, e:
print e
# 创建灰度图像
grey_image = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 创建平衡直方图,减少光线影响
grey_image = cv2.equalizeHist(grey_image)
# 尝试检测人脸
faces_result = self.detect_face(grey_image)
# 在OpenCV的窗口中框出所有人脸区域
if len(faces_result)>0:
for face in faces_result:
x, y, w, h = face
cv2.rectangle(cv_image, (x, y), (x+w, y+h), self.color, 2)
# 将识别后的图像转换成ROS消息并进行发布
self.image_pub.publish(self.bridge.cv2_to_imgmsg(cv_image, "bgr8"))

3.人脸识别
人脸识别部分没有很多代码,直接调用OpenCV提供的人脸识别接口,与数据库中的人脸特
征进行匹配。

def detect_face(self, input_image):
# 首先匹配正面人脸的模型
if self.cascade_1:
faces = self.cascade_1.detectMultiScale(input_image,
self.haar_scaleFactor,
self.haar_minNeighbors,
cv2.CASCADE_SCALE_IMAGE,
(self.haar_minSize, self.haar_maxSize))

如果正面人脸匹配失败,那么就尝试匹配侧面人脸的模型

if len(faces) == 0 and self.cascade_2:
faces = self.cascade_2.detectMultiScale(input_image,
self.haar_scaleFactor,
self.haar_minNeighbors,
cv2.CASCADE_SCALE_IMAGE,
(self.haar_minSize, self.haar_maxSize))
return faces

代码中有一些参数和话题名需要在launch文件中设置,所以还需要编写一个运行例程的
launch文件robot_vision/launch/face_detector.launch:

<launch>
<node pkg="robot_vision" name="face_detector" type="face_detector.py" output="screen">
<remap from="input_rgb_image" to="/usb_cam/image_raw" />
<rosparam>
haar_scaleFactor: 1.2
haar_minNeighbors: 2
haar_minSize: 40
haar_maxSize: 60
</rosparam>
<param name="cascade_1" value="$(find robot_vision)/data/haar_detectors/haarcascade_frontalface_alt.xml" />
<param name="cascade_2" value="$(find robot_vision)/data/haar_detectors/haarcascade_profileface.xml" />
</node>
</launch>

以上我们结合ROS和OpenCV实现了一个人脸识别的机器视觉应用。

http://www.yayakq.cn/news/981615/

相关文章:

  • 网站开发工程师6织梦增加网站英文名称
  • 网站关键词的布局少林寺网站谁做的
  • 网站管理系统排行榜网站广告推广平台
  • 淘宝客网站建设的策略阿里云怎么搭载wordpress
  • 自己开一个网站要多少钱大型科技网站建设
  • 如何登录中国建设银行河北分行网站一个前端页面多少钱
  • PS做网站页面尺寸WordPress发货
  • 做网站用哪种编程语言营销策划方案内容
  • 用jsp建设网站小学老师在哪个网站做ppt
  • 温岭网络推广seo网站营销推广全程实例pdf
  • 国外做蒸汽锅炉的网站有些人做网站不用钱的 对吗
  • 广州建网站定制wordpress固定连接设置
  • 网站做接口排线方法购物券网站怎么做
  • 网站录入wordpress 主题 破解版
  • 12个优秀平面设计素材网站商城网站建设视频教程
  • 网站开发与网站设计区别永久免费网站模板
  • 建设专业网站运营团队四川建设局网站
  • 网站备案 免费做网站公司宁波上市
  • 黑龙江网站建设开发网页设计的风格可分为两大类
  • 网站建设推荐华网天下网站的透明图片怎么做
  • 网页设计与制作是前端吗濮阳做网站优化
  • 深圳网站设计有名 乐云践新小程序源码破解
  • 网站备案不通过怎么解决做购物网站小图标
  • 深圳赶集同城网站建设2017网站建设价目表
  • 天津做网站一般多少钱深圳企业网站建设企业
  • 北京 外贸网站沈阳网络关键词排名
  • 什么叫网站建设服务长沙seo运营
  • 响应式网站建站平台甘肃省建设厅官方网站信息网
  • 查询网站域名备案培训机构暑假不能补课
  • 做网站具体流程步骤最近热点新闻事件2023