栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

opencv,脸部识别,画框,提取,处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

opencv,脸部识别,画框,提取,处理

import cv2 as cv
import numpy as np

# 读取图片,并转换为灰度图片
face_image = cv.imread('211.jpg')

face_gray = cv.cvtColor(face_image, cv.COLOR_RGB2GRAY)
cv.imshow('gray face', face_gray)

# 检测人脸
XML_PATH = 'haarcascade_frontalface_default.xml'  # 人脸检测分类模型     注:模型较老,侧脸几乎识别不出来,建议正脸尝试
face_detector = cv.CascadeClassifier(XML_PATH)  # 实例化分类器
face_list = face_detector.detectMultiScale(face_gray)
cv.imshow('2',face_image)
print(face_list)
# 在人脸上标框
for face in face_list:
    rect_image = cv.rectangle(face_image, face, (0, 30, 100), 2) 
    cv.imshow('current image', rect_image)
# 截取人脸
x, y, w, h = face_list[0]
print(x,y,w,h)
face_rect = face_image[y:y + h, x:x + w]  # 获取人脸对应位置的数值
cv.imshow('current faces', face_rect)

# 进行旋转
center_point = [np.float32(w>>1),np.float32(h>>1)]  # 寻找中心点
mat = cv.getRotationMatrix2D(center_point, 30, 1) #30 强制旋转30°角,此处不太好
face_rotation = cv.warpAffine(face_rect, mat, (h, w))
cv.imshow('rotation face', face_rotation)

if cv.waitKey(0) & 0xFF == 27:
    cv.destroyAllWindows()

 'haarcascade_frontalface_default.xml' # 人脸检测分类模型     

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号