利用百度AI进行人脸识别,可自动识别出年龄、性别等信息,准确率非常高。
运行程序前请安装需要的模块。
import base64from aip import AipFaceimport cv2# 配置百度aip参数APP_ID = '19484855'API_KEY = 'V2mDOleCsk3yEE6P5MgVwSjI'SECRET_KEY = 'RbRMAuPmz8QpDweikrbpfGQjXUm7HiCD'a_face = AipFace(APP_ID, API_KEY, SECRET_KEY)image_type = 'BASE64'options = {'face_field': 'age,gender,beauty', "max_face_num": 10}max_face_num = 10def get_file_content(file_path): """获取文件内容""" with open(file_path, 'rb') as fr: content = base64.b64encode(fr.read()) return content.decode('utf8')def face_score(file_path): """脸部识别分数""" result = a_face.detect(get_file_content(file_path), image_type, options) return result# 图片地址,图片与程序同一目录下file_path = "timg.jpg"result = face_score(file_path)# #从文件读取图像并转为灰度图像img = cv2.imread(file_path)# 图片放文字# 设置文件的位置、字体、颜色等参数font = cv2.FONT_HERSHEY_DUPLEX# font = ImageFont.truetype("simhei.ttf", 20, encoding="utf-8")color = (0, 0, 255)for item in result['result']['face_list']: x = int(item['location']['left']) y = int(item['location']['top']) w = item['location']['width'] h = item['location']['height'] age = item['age'] beauty = item['beauty'] gender = item['gender']['type'] cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 3) cv2.putText(img, 'age:%s' % age, (x, y + h + 10), font, 1, color, 1) cv2.putText(img, 'beauty:%s' % beauty, (x, y + h + 30), font, 1, color, 1) cv2.putText(img, 'gender:%s' % gender, (x, y + h + 50), font, 1, color, 1)cv2.imshow('Image', img)# 按任意键退出key = cv2.waitKey()if key == 27: # 销毁所有窗口 cv2.destroyAllWindows()