import tkinter as tk
import sys
from tkinter import *
from tkinter import filedialog
import tkinter.messagebox
from PIL import Image,ImageTk
import dlib
from skimage import io
sys.path.append(r"C:/Users/铠甲勇士/Documents/Tencent Files/577976846/")
from face_2 import *
def getImage(path):
ph = Image.open(path)#读取图片
ph = ph.resize((250, 250),Image.ANTIALIAS)#设置图片的显示大小
img = ImageTk.PhotoImage(ph)
return img
def reserverImage():
global filePath,label1,img0
file = filedialog.askopenfilename()#打开文件选择框
filePath.set(file)
img0 = getImage(file)
label1.config(image=img0)
label1.config(height=250)
label1.config(width=180)
def dealData():
global filePath,result,label2,img1
value,resultFile = getResult(filePath.get())
result.set(value)
if value == "error":
tkinter.messagebox.showinfo(title='错误', message=value)
img1 = None
else:
img1 = getImage(resultFile)
# detector = dlib.get_frontal_face_detector() # 导入cnn模型
# win = dlib.image_window()
# img = io.imread(resultFile)
# dets =detector(img,1)
# win.clear_overlay()
# win.set_image(img)
# win.add_overlay(dets)
# dlib.hit_enter_to_continue()
label2.config(height=250)
label2.config(width=180)
label2.config(image=img1)
win=tk.Tk()
img0 = ""
img1 = ""
win.geometry('950x500+500+100')
win.title("戴口罩人脸登陆系统")
result = StringVar()
result.set("识别结果")
label1=tk.Label(win,image=img0,height=10,width=10,bg="gray",fg="black",padx=20,pady=5,font="Helvetica 15 bold",text="添加图片")
label1.place(x=50,y=25)
label2=tk.Label(win,image=img1,height=10,width=10,bg="gray",fg="black",padx=20,pady=5,font="Helvetica 15 bold",text="识别结果")
label2.place(x=400,y=25)
label3=tk.Label(win,height="10",width="10",bg="gray",fg="black",padx=20,pady=5,font="Helvetica 15 bold",textvariable=result)
label3.place(x=700,y=25)
btn1=tk.Button(win,width="8",text="选择图片",command=reserverImage)
btn1.place(x=60,y=250)
btn2=tk.Button(win,width="8",text="识别",command=dealData)
btn2.place(x=300,y=300)
filePath = StringVar()#用于存储数据
win.mainloop()
https://blog.csdn.net/m0_58767764/article/details/125018207
这涉及到Tkinter的Button、Tk等内容。不过个人建议用先进一点的PyQt5