前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人眼检测

人眼检测

作者头像
裴来凡
发布2022-05-29 09:39:53
5510
发布2022-05-29 09:39:53
举报
文章被收录于专栏:图像处理与模式识别研究所
代码语言:javascript
复制
import cv2
#加载预训练的人脸、眼睛检测XML模型
face_cascade=cv2.CascadeClassifier('C:/Users/xpp/anaconda3/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml')
eye_cascade=cv2.CascadeClassifier('C:/Users/xpp/anaconda3/Lib/site-packages/cv2/data/haarcascade_eye.xml')
#加载图像或者视频帧(灰度图)
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#检测人脸
faces=face_cascade.detectMultiScale(gray,1.3,5)
#遍历人脸并绘制面部ROI为蓝色
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    roi_gray=gray[y:y+h,x:x+w]
    roi_color=img[y:y+h,x:x+w]
    #进行眼睛的检测
    eyes=eye_cascade.detectMultiScale(roi_gray)
    #绘制眼睛ROI为绿色
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

算法:人眼检测是一种基于机器学习的方法,其中级联函数是从大量正面和负面图像中训练出来的,然后使用它来检测图像中的对象。

OpenCV库维护一个预先训练好的Haar级联库。包括: haarcascade_frontalface_default.xml:检测面部 haarcascade_eye.xml:检测左眼和右眼 haarcascade_smile.xml:检测面部是否存在嘴部 haarcascade_eye_tree_eyeglasses.xml:检测是否带墨镜 haarcascade_frontalcatface.xml:检测猫脸 haarcascade_frontalcatface_extended.xml:检测猫脸延伸 haarcascade_frontalface_alt.xml:检测猫脸属性 haarcascade_frontalface_alt_tree.xml haarcascade_frontalface_alt2.xml haarcascade_fullbody.xml:检测全身 haarcascade_lefteye_2splits.xml:检测左眼 haarcascade_licence_plate_rus_16stages.xml:检测证件 haarcascade_lowerbody.xml:检测下半身 haarcascade_profileface.xml haarcascade_righteye_2splits.xml:检测右眼 haarcascade_russian_plate_number.xml:检测俄罗斯字母车牌号 haarcascade_upperbody.xml:检测上半身

链接:https://github.com/seminar2012/opencv/tree/master/data/haarcascades

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档