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

永年网站建设深圳市企业网站建设价格

永年网站建设,深圳市企业网站建设价格,网页制作的平台,凡科网站建设怎么样人脸识别需要在输入的图像中确定人脸#xff08;如果存在#xff09;的位置、大小和姿态#xff0c;往往用于生物特征识别、视频监听、人机交互等应用中。2001年#xff0c;Viola和Jones提出了基于Haar特征的级联分类器对象检测算法#xff0c;并在2002年由Lienhart和Mayd… 人脸识别需要在输入的图像中确定人脸如果存在的位置、大小和姿态往往用于生物特征识别、视频监听、人机交互等应用中。2001年Viola和Jones提出了基于Haar特征的级联分类器对象检测算法并在2002年由Lienhart和Maydt进行改进为快速、可靠的人脸检测应用提 供了一种有效方法。OpenCV已经集成了该算法的开源实现利用大量样本的Haar特征进行分类器训练然后调用训练好的瀑布级联分类器cascade进行模式匹配。 应用效果 OpenCV已经集成了人脸识别算法所以我们不需要重新开发该算法只需要调用OpenCV相应的接口就可以实现人脸识别的功能。 下面运行例程看一下人脸识别是一种怎样的效果。 使用以下命令启动摄像头然后运行face_detector.launch文件启动人脸识别功能 roslaunch robot_vision usb_cam.launchroslaunch 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_size1)获取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_size1)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, dtypenp.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), (xw, yh), 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 pkgrobot_vision nameface_detector typeface_detector.py outputscreen remap frominput_rgb_image to/usb_cam/image_raw / rosparam haar_scaleFactor: 1.2 haar_minNeighbors: 2 haar_minSize: 40 haar_maxSize: 60 /rosparam param namecascade_1 value$(find robot_vision)/data/haar_detectors/haarcascade_frontalface_alt.xml / param namecascade_2 value$(find robot_vision)/data/haar_detectors/haarcascade_profileface.xml / /node /launch以上我们结合ROS和OpenCV实现了一个人脸识别的机器视觉应用。
http://www.pierceye.com/news/727187/

相关文章:

  • 做网站的宽度为多少云南省建设工程信息服务平台
  • 网站优化公司大家好桂林网络搭建
  • 做a漫画在线观看网站网站建设这个工作怎么样
  • 商城网站建设缺点培训机构退费
  • 大型网站需要什么样的团队建购物网站 教程
  • 商业设计网站推荐网站注册免费qq
  • 做微信首图的网站阿里网站建设App开发
  • .网站链接策略网页制作手机版
  • 河南网站优化要多少钱网站技术有哪些
  • 域名还在备案可以做网站吗高端设计公司名字大全
  • 简洁的门户网站网站开发文案
  • 信息网站 模板中国建设银行手机银行下载官方网站
  • 番禺网站开发设计小程序后端数据库搭建
  • 丰都集团网站建设云南网站开发公司
  • 赶集网的二级域名网站怎么做海南网站建设报价方案
  • dede做手机网站网站开发小作业
  • 网站建设推广ppt室内设计知名网站
  • asp 网站源码网站搭建好了怎么上到服务器
  • 网站有什么到期wordpress怎么编辑保存
  • 服务器添加网站300500启迪设计
  • 上海市建设安全协会网站移动端页面
  • 手机做网站公司成都住房和城乡建设厅官网
  • 锋创科技园网站建设网站开发ide php
  • 山东做网站的公司有哪些电脑怎么制作视频短片
  • 书画网站 建站维护网站成本
  • 什么事网站开发网站服务器租用报价
  • 做黏土的网站青岛网站建设微动力
  • 建网站权威公司广告发布平台
  • 自助游网站开发分析报告总结怎么注册公司微信公众号
  • 网站开发公司业务员培训黄聪wordpress