使用Python来给你的颜值打个分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hfKqt3py-1722071052414)(https://i-blog.csdnimg.cn/blog_migrate/8f99f9495df533852a71842c98db74fb.png)]

百度人工智能提供人脸检测相关能力,可以应用于人脸属性分析,基于人脸关键点的加工分析,人脸营销活动等。

接口提供以下能力

人脸检测:检测图片中的人脸并标记出位置信息;
人脸关键点:展示人脸的核心关键点信息,及150个关键点信息。
人脸属性值:展示人脸属性信息,如年龄、性别等。
人脸质量信息:返回人脸各部分的遮挡、光照、模糊、完整度、置信度等信息。
先来一看看检测效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sR0qVBll-1722071052417)(https://i-blog.csdnimg.cn/blog_migrate/a26ed59cab912b0e5eda6e9497478fa6.jpeg)]
接下来一起来看看制作过程吧

1、首先在百度智能云=>产品服务=>人工智能=>人脸识别 模块下方注册应用。输入应用名称、应用类型、接口选择可以默认(默认就开启了人脸检测权限)、应用描述 立即创建即可

2、进入应用列表、查看上述注册应用的API Key和Secret Key 这两个值注意保密哦,不要告诉别人

3、接下来就需要获取用户权限了,就是使用2中的API Key和Secret Key获取token令牌了

原理是向服务器发起http请求,获取返回值中的token

可以使用python请求模块requests来完成

来一段案例代码

import requests
# 获取用户Token
res = requests.post("https://aip.baidubce.com/oauth/2.0/token",data={
    "grant_type":"client_credentials",
    "client_id":"自己注册应用的API Key",
    "client_secret":"自己注册应用的Secret Key"
})
token = res.json()["access_token"]
print(token)

4、将上述token和自己的头像发送给服务器对应接口,提取对应的数据即可

来一段案例代码

import base64
imgpath = "zly.jpg"
with open(imgpath,"rb") as f:
    base64str = base64.b64encode(f.read()).decode()
    res = requests.post("https://aip.baidubce.com/rest/2.0/face/v3/detect", data={
        "access_token": "上述示例代码获得的token",
        "image":base64str,
        "image_type":"BASE64",
        "face_field":"beauty,gender"
    }, headers={
        "Content-Type": "application/json"
    })
    result =res.json()
    print("性别", result["result"]["face_list"][0]["gender"]["type"])
    print("分值",result["result"]["face_list"][0]["beauty"])

就可以将获取到想要的颜值评分了

再来一张效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eq9L87Gj-1722071052417)(https://i-blog.csdnimg.cn/blog_migrate/de909b91a05031c4e8eda33a47493bcc.jpeg)]

这张分数有点可惜了。。。。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-42Qkwfzj-1722071052418)(https://i-blog.csdnimg.cn/blog_migrate/75a2570ced31a72a67acce48344e6765.png)]

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要实现Python识别人脸颜值打分,可以使用OpenCV和Dlib这两个库。首先利用Dlib库中的人脸检测器检测出人脸,然后使用OpenCV中的颜色空间转换和直方图均衡化等技术对图像进行预处理,最后使用已经训练好的颜值评分模型对人脸进行评分。 以下是一个简单的Python代码示例: ```python import cv2 import dlib # 加载人脸检测器和颜值评分模型 detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat") model = cv2.ml.SVM_load("beauty_svm_model.xml") # 加载图片 img = cv2.imread("test.jpg") # 灰度转换 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 检测人脸 faces = detector(gray) # 遍历每张人脸 for face in faces: # 获取面部特征点 landmarks = predictor(gray, face) # 提取特征 features = [] for i in range(17, 68): features.append((landmarks.part(i).x, landmarks.part(i).y)) # 计算矩形框大小 x, y, w, h = cv2.boundingRect(np.array(features)) # 裁剪人脸图像 face_img = img[y:y+h, x:x+w] # 图像预处理 face_img = cv2.cvtColor(face_img, cv2.COLOR_BGR2GRAY) face_img = cv2.equalizeHist(face_img) face_img = cv2.resize(face_img, (128, 128)) # 特征向量化 feature_vector = face_img.reshape(1, -1) # 预测颜值 score = model.predict(feature_vector)[1][0] # 打印颜值 print("颜值评分:", score) ``` 注意:这是一个简单的示例,实际中需要更多的数据和更复杂的模型来提高准确性。同时,需要注意保护用户隐私,不要将用户的照片和颜值评分信息泄露出去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农NoError

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值