1. 程式人生 > 實用技巧 >測測你的顏值有多少?

測測你的顏值有多少?

測測你的顏值有多少?

突然看到一個測顏值的工具,覺得很有意思,寫完之後上傳照片感覺好好玩呀 ~~~

今天週末,不想寫的太詳細了,有點懶,直接上程式碼 ~~~

import base64
import json
import requests

class AIFace:
    def __init__(self,img):
        #你的應用API KEY
        self.AK = 'Oahh6GbkGsw5bzEGSVHwLhY2'
        #你應用的祕鑰
        self.SK = 'CfUe9h5qnqRwfvydHmyYGh2TQGejw8TN'
        self.img_src = img
        self.headers = {
            'Content-Type':'application/json;charset=UTF-8'
        }

    def get_AccessToken(self):
        #獲取AccessToken
        host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id' \
               '=' + self.AK + '&client_secret=' + self.SK
        response = requests.get(host,headers = self.headers)
        json_result = json.loads(response.text)
        if response:
            return json_result['access_token']
        else:
            print(json_result)
            return 0

    def img_to_base64(self,path):
        #圖片轉化為base64
        with open(path,'rb')as f:
            image = f.read()
            image_base64 = str(base64.b64encode(image),encoding='utf-8')
        return image_base64

    def face_identification(self):
        #人臉檢測與屬性分析
        img = self.img_to_base64(self.img_src)
        request_url = 'https://aip.baidubce.com/rest/2.0/face/v3/detect'
        post_data = {
            "image": img,
            "image_type": "BASE64",
            "face_field": "gender,age,beauty,gender,race,emotion,face_shape,landmark",
            # 包括age,beauty,expression,face_shape,gender,glasses,landmark,emotion,face_type,mask,spoofing資訊
            "face_type": "LIVE"  # 人臉的型別。LIVE表示生活照,IDCARD表示身份證晶片照,WATERMARK表示帶水印證件照,CERT表示證件照片,預設LIVE。
        }
        access_token = self.get_AccessToken()
        request_url = request_url + "?access_token=" + access_token
        response = requests.post(url=request_url, data=post_data, headers=self.headers)
        json_result = json.loads(response.text)
        # print(json_result)
        if json_result['error_code'] == 0:
            print("人臉表情:", json_result['result']['face_list'][0]['emotion']['type'])
            print("人物年齡:", json_result['result']['face_list'][0]['age'])
            print("人物顏值評分:", json_result['result']['face_list'][0]['beauty'])
            print("人物性別:", json_result['result']['face_list'][0]['gender']['type'])
            print("人物種族:", json_result['result']['face_list'][0]['race']['type'])
            # print("人物特徵點位置:", json_result['result']['face_list'][0]['landmark72'])
        else:
            print(json_result['error_code'])
            print(json_result['error_msg'])


if __name__ == '__main__':
    imglist = ['OIP.jpeg','OIP 1.jpeg','qian.jpg','haven.jpg','11.jpg','2.jpg' ,'3.jpg' ,'4.jpg' ,'5.png','111.jpg',]
    for i in range(0, len(imglist)):
        print('第{}張圖片:'.format(i + 1))
        demo = AIFace(imglist[i])
        if (demo.get_AccessToken()):
            demo.face_identification()

測了一下紫琪的顏值,真是不愧實力與顏值並存,85分~

黃渤~

哈哈 ~ 真好玩