人脸检测(python代码实现需要cv2库)

文章详细介绍了如何使用OpenCV库进行图像读取、灰度转换、人脸检测以及在图片上绘制矩形和圆圈。通过`CascadeClassifier`实现人脸检测,并展示了如何对特定图像进行人脸定位并保存结果。
摘要由CSDN通过智能技术生成
import cv2 as cv
#读取图片

img = cv.imread('C:/Users/wangyiyuan/Desktop/20200201172603_hocyy.jpg')
#显示图片
cv.imshow('showFace',img)

gray_img = cv.cvtColor(img, cv.COLOR_BGRA2GRAY)
# 显示灰度
cv.imshow("greyImg", gray_img)
# 保存灰度图片
cv.imwrite('gray_face1.png', gray_img)
# 等待
cv.waitKey(0)

x,y,w,h = 100,100,100,100
cv.rectangle(img,pt1=(x,y),pt2=(x+w,y+h),color=(0,0,255),thickness=1)
#绘制圆形
cv.circle(img,center=(x,y),radius=100,color=(255,0,0),thickness=2)
cv.imshow("draw_face1", img)

while True:
    if ord('m') == cv.waitKey(0):
        break



def face_detect_methed():
    # 图片灰度化
    grey_img = cv.cvtColor(img, cv.COLOR_BGRA2GRAY)
    # 定义分类器,使用OpenCV自带的分类器
    face_detector = cv.CascadeClassifier(
        'C:/Users/wangyiyuan/PycharmProjects/pythonProject/venv/Lib/site-packages/cv2/data/haarcascade_frontalface_alt2.xml')
    # 使用分类器
    face = face_detector.detectMultiScale(grey_img,1.1,5,0,(10,10),(200,200))
    # 在图片中对人脸画矩阵
    for x, y, w, h in face:
        cv.rectangle(img, (x, y), (x + w, y + h), color=(0, 0, 255), thickness=2)
    cv.imshow('result', img)


# 读取图像
img = cv.imread("C:/Users/wangyiyuan/Desktop/20240129230147.jpg")
# 调用检测函数
face_detect_methed()
cv.imwrite('result.jpg', img)
while True:
    if ord('m') == cv.waitKey(0):
        break

结果图

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值