1 Star 0 Fork 258

Lorina/书法体识别APP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
3_predict.py 2.12 KB
一键复制 编辑 原始数据 按行查看 历史
Lorina 提交于 2024-05-30 21:51 . update
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
import yaml # 用于读取和解析YAML文件的库。
char_styles = get('char_styles') # 字体样式
new_size = get('new_size') # 新尺寸
class ImageClassifierApp:
def __init__(self, model_path):
# 使用util.load加载最佳模型
self.model = load("最好的F1分数的模型", model_path) # TODO
# 创建主窗口
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)# TODO
# 使用加载的最佳模型执行推理
predicted_class = self.model.predict(np.array([img]))# TODO
# 用PIL读取图像,并设置读取图像后的窗口的大小
# TODO
pil_image= Image.open(image_path).resize((200, 200))
# 将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/Hlorina/shufa_app.git
git@gitee.com:Hlorina/shufa_app.git
Hlorina
shufa_app
书法体识别APP
master

搜索帮助