欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python實(shí)現(xiàn)男神女神顏值打分系統(tǒng)(推薦)

 更新時(shí)間:2019年10月31日 10:37:17   作者:Keegan-揚(yáng)  
這篇文章主要介紹了用python做一個(gè)男神女神顏值打分系統(tǒng)(程序分析見注釋),需要的朋友可以參考下

先給大家展示效果圖,感覺不錯(cuò),請(qǐng)參考實(shí)現(xiàn)代碼。


在這里插入圖片描述

具體代碼如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
pip install pillow
pip install baidu-aip
pip install tkinter
"""
import PIL
import time
import base64
import tkinter as tk
from PIL import Image
from PIL import ImageTk
from aip import AipFace
from tkinter.filedialog import askopenfilename
# 配置百度aip參數(shù)
APP_ID = '15768642'
API_KEY = 'xhiiGmGPRCRj10XIqVlVeCky'
SECRET_KEY = 'ZDMMAO7StwTKzW8BspVQxvoGtdgSW4yI'
a_face = AipFace(APP_ID, API_KEY, SECRET_KEY)
image_type = 'BASE64'
options = {'face_field': 'age,gender,beauty'}
def get_file_content(file_path):
  """獲取文件內(nèi)容"""
  with open(file_path, 'rb') as fr:
    content = base64.b64encode(fr.read())
    return content.decode('utf8')
def face_score(file_path):
  """臉部識(shí)別分?jǐn)?shù)"""
  result = a_face.detect(get_file_content(file_path), image_type, options)
  print(result)
  age = result['result']['face_list'][0]['age']
  beauty = result['result']['face_list'][0]['beauty']
  gender = result['result']['face_list'][0]['gender']['type']
  return age, beauty, gender
class ScoreSystem():
  """打分系統(tǒng)類"""
  root = tk.Tk()
  # 修改程序框的大小
  root.geometry('800x500')
  # 添加程序框標(biāo)題
  root.title('女神/男神顏值打分系統(tǒng)')
  # 修改背景色
  canvas = tk.Canvas(root,
            width=800, # 指定Canvas組件的寬度
            height=500, # 指定Canvas組件的高度
            bg='#E6E6FA') # 指定Canvas組件的背景色
  canvas.pack()
  def start_interface(self):
    """主運(yùn)行函數(shù)"""
    self.title()
    self.time_component()
    # 打開本地文件
    tk.Button(self.root, text='打開文件', command=self.show_original_pic).place(x=50, y=150)
    # 進(jìn)行顏值評(píng)分
    tk.Button(self.root, text='運(yùn)行程序', command=self.open_files2).place(x=50, y=230)
    # 顯示幫助文檔
    tk.Button(self.root, text='幫助文檔', command=self.show_help).place(x=50, y=310)
    # 退出系統(tǒng)
    tk.Button(self.root, text='退出軟件', command=self.quit).place(x=50, y=390)
    # 顯示圖框標(biāo)題
    tk.Label(self.root, text='原圖', font=10).place(x=380, y=120)
    # 修改圖片大小
    self.label_img_original = tk.Label(self.root)
    # 設(shè)置顯示圖框背景
    self.cv_orinial = tk.Canvas(self.root, bg='white', width=270, height=270)
    # 設(shè)置顯示圖框邊框
    self.cv_orinial.create_rectangle(8, 8, 260, 260, width=1, outline='red')
    # 設(shè)置位置
    self.cv_orinial.place(x=265, y=150)
    # 顯示圖片位置
    self.label_img_original.place(x=265, y=150)
    # 設(shè)置評(píng)分標(biāo)簽
    tk.Label(self.root, text='性別', font=10).place(x=680, y=150)
    self.text1 = tk.Text(self.root, width=10, height=2)
    tk.Label(self.root, text='年齡', font=10).place(x=680, y=250)
    self.text2 = tk.Text(self.root, width=10, height=2)
    tk.Label(self.root, text='評(píng)分', font=10).place(x=680, y=350)
    self.text3 = tk.Text(self.root, width=10, height=2)
    # 填裝文字
    self.text1.place(x=680, y=175)
    self.text2.place(x=680, y=285)
    self.text3.place(x=680, y=385)
    # 開啟循環(huán)
    self.root.mainloop()
  def show_original_pic(self):
    """放入文件"""
    self.path_ = askopenfilename(title='選擇文件')
    # 處理文件
    img = Image.open(fr'{self.path_}')
    img = img.resize((270, 270), PIL.Image.ANTIALIAS) # 調(diào)整圖片大小至270*270
    # 生成tkinter圖片對(duì)象
    img_png_original = ImageTk.PhotoImage(img)
    # 設(shè)置圖片對(duì)象
    self.label_img_original.config(image=img_png_original)
    self.label_img_original.image = img_png_original
    self.cv_orinial.create_image(5, 5, anchor='nw', image=img_png_original)
  def open_files2(self):
    # 獲取百度API接口獲得的年齡、分?jǐn)?shù)、性別
    age, score, gender = face_score(self.path_)
    # 清楚text文本框內(nèi)容并進(jìn)行插入
    self.text1.delete(1.0, tk.END)
    self.text1.tag_config('red', foreground='RED')
    self.text1.insert(tk.END, gender, 'red')
    self.text2.delete(1.0, tk.END)
    self.text2.tag_config('red', foreground='RED')
    self.text2.insert(tk.END, age, 'red')
    self.text3.delete(1.0, tk.END)
    self.text3.tag_config('red', foreground='RED')
    self.text3.insert(tk.END, score, 'red')
  def show_help(self):
    """顯示幫助"""
    pass
  def quit(self):
    """退出"""
    self.root.quit()
  def get_time(self, lb):
    """獲取時(shí)間"""
    time_str = time.strftime("%Y-%m-%d %H:%M:%S") # 獲取當(dāng)前的時(shí)間并轉(zhuǎn)化為字符串
    lb.configure(text=time_str) # 重新設(shè)置標(biāo)簽文本
    self.root.after(1000, self.get_time, lb) # 每隔1s調(diào)用函數(shù) get_time自身獲取時(shí)間
  def time_component(self):
    """時(shí)間組件"""
    lb = tk.Label(self.root, text='', fg='blue', font=("黑體", 15))
    lb.place(relx=0.75, rely=0.90)
    self.get_time(lb)
  def title(self):
    """標(biāo)題設(shè)計(jì)"""
    lb = tk.Label(self.root, text='女神/男神顏值打分系統(tǒng)',
           bg='#6495ED',
           fg='lightpink', font=('華文新魏', 32),
           width=20,
           height=2,
           # relief=tk.SUNKEN
           )
    lb.place(x=200, y=10)
score_system = ScoreSystem()
score_system.start_interface()

總結(jié)

以上所述是小編給大家介紹的使用python實(shí)現(xiàn)男神女神顏值打分系統(tǒng),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論