1 Star 0 Fork 258

nice2cu/书法体识别APP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
3_predict.py 2.26 KB
一键复制 编辑 原始数据 按行查看 历史
nice2cu 提交于 2023-05-14 11:37 . 111
import tkinter as tk # Python的标准图形用户界面库,用于创建图形用户界面。
from tkinter import filedialog
from PIL import Image, ImageTk # Python图像处理库,提供图像处理功能。
import numpy as np
from util import preprocess_image, load, get
char_styles = get('char_styles') # 字体样式
new_size = get('new_size') # 新尺寸
class ImageClassifierApp:
def __init__(self, model_path):
# 使用util.load加载最佳模型
# TODO
self.model = load("best_model", f'{get("model_root")}/best_model')
# 创建主窗口
self.root = tk.Tk()
self.root.title('Image Classifier')
self.root.geometry("300x200")
# 创建一个按钮用于选择图像
self.button = tk.Button(self.root, text='选择图像', command=self.select_image)
self.button.pack()
# 创建一个标签用于显示图像
self.image_label = tk.Label(self.root)
self.image_label.pack()
# 创建一个标签用于显示预测的类别
self.prediction_label = tk.Label(self.root)
self.prediction_label.pack()
# 启动GUI事件循环
self.root.mainloop()
def select_image(self):
# 打开文件对话框以选择图像
image_path = filedialog.askopenfilename()
# 使用util的preprocess_image函数预处理图像
img = preprocess_image(image_path, new_size) # 对图像进行预处理
img = np.expand_dims(img, axis=0) # 将图像增加一个维度
# 使用加载的最佳模型执行推理
predicted_class = self.model.predict(img)
# 用PIL读取图像,并设置读取图像后的窗口的大小
#pil_image = Image.open(image_path).resize((200, 200), Image.BILINEAR)
pil_image = Image.open(image_path)
# 将PIL图像转换为PhotoImage并更新标签
image_tk = ImageTk.PhotoImage(pil_image)
self.image_label.config(image=image_tk)
self.image_label.image = image_tk
# 更新预测标签
self.prediction_label.config(text=f'预测类别: {char_styles[predicted_class[0]]}')
# 启动应用程序
app = ImageClassifierApp(f'{get("model_root")}/best_model')
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ybzdhr/shufa_app.git
git@gitee.com:ybzdhr/shufa_app.git
ybzdhr
shufa_app
书法体识别APP
master

搜索帮助