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

找人做任务网站有哪些杭州网站设计制作

找人做任务网站有哪些,杭州网站设计制作,产品是做网站,制作网站几个步骤人脸识别需要在输入的图像中确定人脸(如果存在)的位置、大小和姿态,往往用于生物特征识别、视频监听、人机交互等应用中。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.zhongyajixie.com/news/16840.html

相关文章:

  • 大庆+网站建设市场营销教材电子版
  • 松桃县住房和城乡建设局网站做网站推广需要多少钱
  • 合肥网站建设是什么意思湖南网站seo
  • wordpress媒体库插入图片不显示惠州seo外包费用
  • 四川省建筑人员证书查询无忧seo
  • 自己做网站难不难广州网站优化排名
  • 苹果浏览器怎么信任网站设置百度推广费用一天多少钱
  • 上海高端品牌网站建设做网站价格
  • 手机网站需要域名吗中视频自媒体账号注册下载
  • 带地板翻转的网站怎么做重庆人社培训网
  • 在哪个网站做整形郑州短视频代运营
  • 日ip5000的网站怎么做nba最新消息球员交易
  • 做网站的的步骤怎么写外链群发
  • 帝国文章网站模板中央电视台新闻联播广告价格
  • 做网站都要学什么云优化
  • 海淀网站建设网络营销师证
  • 室内设计培训机构多少钱seo整站优化技术培训
  • 唐山市住房城乡建设部网站主页百度贴吧网页版登录入口
  • 北京企业建站技术广州企业推广
  • 接做网站单子的网站网站定制
  • 网站建设与网页设计总结aso优化渠道
  • 犀牛云做的网站好不好百度seo排名优化软件
  • 找人做app网站福州seo按天付费
  • 南京网站公司郴州网站seo
  • 温州营销网站制作报价windows系统优化软件排行榜
  • 昆明市网站制作公司网络营销策划模板
  • 佛山智能建站进入百度首页
  • 著名室内设计网站大全今日重大事件
  • 手机网站banner尺寸营销网点机构号
  • 如何上传程序到网站空间产品推广文案怎么写