from tkinter import *
import tkinter
import tkinter.filedialog
import tkinter.messagebox
from aip import AipFace
import json
"""选择要提交的图片并返回图片的二进制信息"""
def select_image():
global image
path = tkinter.filedialog.askopenfilename()
path_label = Label(text=path)
path_label.grid(row=0,column=1)
with open(path, 'rb') as fp:
image=[]
image.append(fp.read())
"""获取用户输入创建百度云接口实例并提交信息"""
def updatauser():
global image #全局化image
if image != []: #只有image里面有内容,即用户选择了图片才会执行
with open('LoginInfo.txt', 'r') as fp: #打开LoginInfo.txt
info = json.loads(fp.read()) #登录信息转换成JSON数据
client = AipFace(info['appid'], info['apikey'], info['secretkey']) #根据登录信息创建百度云实例
options = {}
options["action_type"] = "replace" #注册新用户的额外选项,replace的意思估计是更新,我没查
return_info = client.addUser(userid_entry.get(), userinfo_entry.get(),\
groupid_entry.get(), image[0], options) #注册/更新新用户
if 'error_code' in return_info.keys(): #判断返回数据是否包含更新失败关键字
tkinter.messagebox.showerror('参数输入错误', '注意:Userid不能包含中文字符!')
else: #更新成功
tkinter.messagebox.showinfo('成功', '新用户信息提交成功!')
else: #image里面没有有内容
tkinter.messagebox.showerror('选择文件错误', '请重新选择图片')
image = []
#以下为tkinter内容,在这不做介绍
root = Tk()
root.title('百度人脸注册工具')
try:
root.iconbitmap('ico/baidu.ico')#linux平台没有这个方法
except:
pass
button = Button(text='选择图片',command = select_image)
button.grid(row=0,column=0,padx=2,pady=2)
userid_label = Label(text='Userid:')
userid_label.grid(row=1,column=0,padx=2,pady=2)
userid_entry = Entry(width=40)
userid_entry.grid(row=1,column=1,padx=2,pady=2)
userinfo_label = Label(text='Userinfo:')
userinfo_label.grid(row=2,column=0,padx=2,pady=2)
userinfo_entry = Entry(width=40)
userinfo_entry.grid(row=2,column=1,padx=2,pady=2)
groupid_label = Label(text='Groupid :')
groupid_label.grid(row=3,column=0,padx=2,pady=2)
e = StringVar() #Entry默认输入编程方式
groupid_entry = Entry(textvariable=e, width=40)
groupid_entry.grid(row=3,column=1,padx=2,pady=2)
e.set('group1') #Entry默认输入编程方式
updata = Button(text='提交用户',command = updatauser)
updata.grid(row=7,column=1,sticky=tkinter.E,padx=2,pady=2)
root.mainloop()
码云网址:https://gitee.com/wangkingking/BaiDuRenLianShiBieRenLianZhuCe/tree/master
百度人脸实时识别软件:http://blog.csdn.net/lingdongtianxia/article/details/79293178