头歌--人脸识别系统--OpenCV人脸检测

这篇具有很好参考价值的文章主要介绍了头歌--人脸识别系统--OpenCV人脸检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第1关:图片基本操作

第2关:色彩空间及其转换

第3关:基于Harr特征的人脸检测分类器

第4关:绘制人脸与人眼区域文章来源地址https://www.toymoban.com/news/detail-743740.html


第1关:图片基本操作

'''****************BEGIN****************'''
# 导入OpenCV库
import cv2
'''**************** END ****************'''

# 原始图片路径
image_path = 'step1/image/girl.jpg'
# 保存图片路径
save_image_path = 'step1/out/girl-new.jpg'

'''****************BEGIN****************'''
# 读取图片并保存图片
img = cv2.imread(image_path,0)
cv2.imwrite(save_image_path,img)
'''**************** END ****************'''

第2关:色彩空间及其转换

import cv2

# 加载图片
filename = "step2/image/girl.jpg"
img = cv2.imread(filename)

'''****************BEGIN****************'''
# 将图片的色彩空间由BGR转换GRAY
output_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
'''**************** END ****************'''

save_image_path = "step2/out/girl-gray.jpg"
'''****************BEGIN****************'''
# 保存图片
cv2.imwrite(save_image_path,output_img)
'''**************** END ****************'''

第3关:基于Harr特征的人脸检测分类器

import numpy as np
import cv2

'''****************BEGIN****************'''
# 读取图片
image_path = 'step3/image/face.jpg'
img = cv2.imread(image_path)
# 转换为灰度图片
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人脸检测器
modle_path = 'sample/data/haarcascades/haarcascade_frontalface_default.xml'
face_cascade = cv2.CascadeClassifier(modle_path)
# 识别人脸
faces = face_cascade.detectMultiScale(gray_img, 1.3, 5)
'''**************** END ****************'''

print(faces)

第4关:绘制人脸与人眼区域

import cv2
# 读取图片
img = cv2.imread('step4/image/girl.jpg')
# 转换为灰阶图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人脸检测器
face_cascade = cv2.CascadeClassifier('sample/data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray, 1.3, 5)

# 绘制人脸区域
for (x,y,w,h) in faces:
    print(x,y,w,h)
    '''****************BEGIN****************'''
    # 在人脸区域添加矩形框
    cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)
    face_grays = gray[y:y+h, x:x+w]
    face_areas=img[y:y+h,x:x+w]
    '''**************** END ****************'''

    #绘制眼睛区域
    path_of_haarcascade_eye = "sample/data/haarcascades/haarcascade_eye.xml"
    eye_cascade = cv2.CascadeClassifier(path_of_haarcascade_eye)
    eyes = eye_cascade.detectMultiScale(face_grays)
    '''****************BEGIN****************'''
    for (ex,ey,ew,eh) in eyes:
        print(ex,ey,ew,eh)
        # 在眼睛区域添加矩形框
        cv2.rectangle(img,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
    '''**************** END ****************'''

# 保存图片
save_image_path = "step4/out/girl-drawing.jpg"
cv2.imwrite(save_image_path,img)




到了这里,关于头歌--人脸识别系统--OpenCV人脸检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包