使用tkinter制作使用EasyOCR的图形界面(Python,Win10)

您所在的位置:网站首页 如何用python提取图片中的文字 使用tkinter制作使用EasyOCR的图形界面(Python,Win10)

使用tkinter制作使用EasyOCR的图形界面(Python,Win10)

2023-03-30 05:49| 来源: 网络整理| 查看: 265

目的

为了更方便地应用EasyOCR从图片中提取文字的文本,使用tkinter做了使用EasyOCR的图形界面。

源代码

源代码如下:

import tkinter as tk import tkinter.filedialog from PIL import Image,ImageTk import easyocr #选择并显示图片 def choosepic(): path_ = tkinter.filedialog.askopenfilename() if(len(path_)): path.set(path_) print(path.get()) img_open = Image.open(entry.get()) #img = ImageTk.PhotoImage(img_open.resize((200,200))) img = ImageTk.PhotoImage(img_open) lableShowImage.config(image=img) lableShowImage.image = img #识别图片中的文字 def myEasyOCR(): if(len(path.get())): #使用EasyOCR识别文字 print("OCR...") result = easyOcrReader.readtext(path.get(), detail = 0, paragraph=True) print("OCR... OK") #显示识别结果 #print(result) strResult.set("".join(result)) print("识别结果为:"+strResult.get()) if __name__ == '__main__': #生成tk界面 app即主窗口 app = tk.Tk() #修改窗口titile app.title("显示图片") #设置主窗口的大小和位置 app.geometry("800x480+200+200") #打开图片的名 path = tk.StringVar() #Entry widget which allows displaying simple text. frame1=tk.Frame(app) frame1.pack() label1 = tk.Label(frame1, text='打开的文件名: ').pack(side=tk.LEFT) entry = tk.Entry(frame1, state='readonly', text=path,width = 100) entry.pack(side=tk.LEFT) #使用Label显示图片 lableShowImage = tk.Label(app) lableShowImage.pack() #按钮容器(Frame) buttonsContainer = tk.Frame(app) buttonsContainer.pack() #选择图片的按钮 buttonSelImage = tk.Button(buttonsContainer, text='选择图片', command=choosepic) buttonSelImage.pack(side=tk.LEFT) #OCR按钮 buttonEasyOCR = tk.Button(buttonsContainer, text='EasyOCR识别文字', command=myEasyOCR) buttonEasyOCR.pack(side=tk.LEFT) #Entry widget which allows displaying simple text. 显示识别结果的widget frame2=tk.Frame(app) frame2.pack() label1 = tk.Label(frame2, text='识别结果: ').pack(side=tk.LEFT) strResult = tk.StringVar() entryRes = tk.Entry(frame2, state='readonly', text=strResult,width = 100) entryRes.pack(side=tk.LEFT) #EasyOCR Reader# easyOcrReader = easyocr.Reader(['ch_tra', 'en']) easyOcrReader = easyocr.Reader(['ch_sim', 'en']) app.mainloop() 使用方法

假设上述代码保存在文件“d:\temp\MyEasyOcrGui.py”中。

在Win10命令行窗口输入命令“python d:\temp\MyEasyOcrGui.py”,开始运行程序,界面如下:

点击“选择图片”按钮,弹出打开文件对话框,

选择要打开的图片文件,点击“打开”按钮,图片就会显示在图形界面上了,如下图所示:

然后点击“EasyOCR识别文字”按钮,等待一会儿(等待时间的长短与计算机性能、图片的复杂度和图片中的文字个数有关),就会显示识别了。如下图所示(由于没有使用多线程,在识别时界面不响应用户输入):

在“识别结果”框激活时,使用组合键“Ctrl+A”选中全部文字、再使用“Ctrl+C”将文字复制到系统剪贴板,就可以将文字粘贴到其他的文本编辑器中进行修改和查看了。

命令行窗口也会显示一些提示信息,截图如下:

小结

虽然做出的界面不美观,也没有使用多线程。但是从使用的角度来说,与每次都在命令行窗口输入文件名进行识别相比,提高了使用的方便性。

相关参考网页 Python光学字符识别工具-EasyOCR安装与使用(Win10). 今日头条   使用tkinter开发图形界面显示图片(Win10,Python). 今日头条  Python之Tkinter进行GUI开发 . Python之Tkinter进行GUI开发_胜天半月子的博客-CSDN博客 在tkinter中显示图片和图片名. 在tkinter中显示图片和图片名_勤勤恳恳的小码农的博客-CSDN博客_tkinter显示图片 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3