Heim >Backend-Entwicklung >Python-Tutorial >So konvertieren Sie Bilder in Python in Text

So konvertieren Sie Bilder in Python in Text

WBOY
WBOYnach vorne
2023-04-20 11:07:062105Durchsuche

    Python-Bild in Text

    Mit Python+Tesseract-OCR ein kleines Tool zum Konvertieren von Bildern in Text erstellen, GUI Design Die Schnittstelle und Wirkung des Steuerelements

    unter Verwendung der Tkinter-Bibliothek sind in der folgenden Abbildung dargestellt:

    So konvertieren Sie Bilder in Python in Text

    #🎜🎜 #So konvertieren Sie Bilder in Python in Text

    #进一步优化  1. 底部添加label   2.对识别后的文本处理,去空格
    
    
    from PIL import Image as PImage
    from PIL import ImageTk
    import pytesseract
    from tkinter import *
    from tkinter import filedialog
    from tkinter.scrolledtext import ScrolledText
    import re
    
    # 将图片内容翻译为文字,显示在文本框内
    def trans():
        contents.delete('1.0', END)
        transTxt = pytesseract.image_to_string(PImage.open(filePath.get()),lang='chi_sim')
        #对transTxt进行处理  去空格,换行符去重
        transTxt = transTxt.strip('\n\r')   #无参数可以删除开头结尾的空格\n\t\r
        print(transTxt)
        contents.insert( INSERT, transTxt.replace(' ','').replace('\n\n','\n').replace('\r',''))
    
    #打开图片文件,显示路径,并将图片展现
    def openfile():
        filename.delete('1.0', END)
        filePath.set(filedialog.askopenfilename())
        filename.insert(1.0,filePath.get())
        org_img = PImage.open(filePath.get())
        #调整图片显示大小 600*800
        w,h = org_img.size
        if w>600:
            h=int(h*600/w)
            w=600
        if h>800:
            w=int(w*800/h)
            h=800
        img = ImageTk.PhotoImage(org_img.resize((w,h)))
        showPic.config(image=img)
        showPic.image = img       #保持一个引用才能显示图片,tkinter的BUG
        
    
    #设置主窗口
    top = Tk()
    top.title("OCR图片转文字  引擎:Tesseract-OCR  Made by: kaivis")
    #top.iconbitmap("./pic/y1.ico")
    top.geometry("1200x800")
    
    filePath=StringVar()
    
    bt_img1 = ImageTk.PhotoImage( file= "./pic/Outbox1.png")
    bt_img2 = ImageTk.PhotoImage( file= "./pic/bt_img2.png")
    
    #第一个窗体
    frame1 = Frame (top, relief=RAISED, borderwidth=2)
    frame1.pack(side=TOP, fill=BOTH,  ipady=5, expand=0)
    Label(frame1,height=1,text="图片路径:").pack(side=LEFT)
    filename = Text(frame1,height=2)
    filename.pack(side=LEFT,padx=1, pady=0,expand=True, fill=X)
    Button(frame1,text="打开文件", image=bt_img1, command=openfile).pack(side=LEFT,padx=5, pady=0)
    Button(frame1,text="中文识别", image=bt_img2, command=trans).pack(side=LEFT,padx=5, pady=0)
    
    #第二个窗体
    frame2 = Frame (top, relief=RAISED, borderwidth=2)
    frame2.pack (side=LEFT, fill=BOTH,  expand=1)
    Label(frame2,text='图片显示:',borderwidth=5).pack(side=TOP,padx=20,pady=5)
    showPic = Label(frame2,text='图片显示区')
    showPic.pack(side=BOTTOM,expand=1,fill=BOTH)
    
    #第三个窗体
    frame3 = Frame (top)
    frame3.pack (side=RIGHT, fill=BOTH,  expand=1)
    #contents = ScrolledText(frame3)
    Label(frame3,text='识别结果:',borderwidth=5).pack(side=TOP,padx=20,pady=10)
    contents = Text(frame3,font=('Arial',15))
    contents.pack(side=TOP,expand=1,fill=BOTH)
    Label(frame3,text='Copyright 2021 baidu.com ALL Rights Reserved',borderwidth=5).pack(side=BOTTOM,padx=20,pady=10)
    
    top.mainloop()
    # 🎜🎜#Bestehende Probleme:

      Die Erkennungsrate ist nicht hoch und es ist noch schwieriger, eine höhere Genauigkeit für kompaktes Chinesisch zu erreichen Gibt es eine bessere OCR? Pausen müssen verarbeitet werden
    • Python-Screenshot zur Textfunktion
    • Bei der Suche nach Informationen im Internet stoße ich oft auf Situationen, in denen Artikel nicht sein können Um den gewünschten Text schnell zu kopieren, möchte ich ein Python-Programm schreiben, um die Funktion zum Konvertieren von Screenshots in Text zu implementieren.

    1. Idee

    Zuallererst muss es eine Funktion zum Aufzeichnen der Tastatur geben (teilen Sie das dem Programm mit). Sie machen einen Screenshot) - Screenshot der Tastaturbibliothek Anschließend müssen Sie das Bild empfangen. - Die ImageGrab-Bibliothek muss nach Erhalt des Bildes eine Texterkennung durchführen. - Baidu AI Text Recognition API

    So konvertieren Sie Bilder in Python in Text2 Implementierung#🎜🎜 #

    2.1 Verwandte Bibliotheken importieren#🎜🎜 #

    2.2 Erstellen Sie eine Klasse und schreiben Sie eine Funktion in diese Screenshots speichern

    Wegen mir Wir verwenden die Screenshot-Software, die mit Win10 geliefert wird, daher lautet der Screenshot-Hotkey „Win+Shift+s“. Sie können ihn je nach Screenshot frei ändern Software.

    So konvertieren Sie Bilder in Python in Text

    2.3 Schreiben Sie eine Funktion zum Konvertieren von Bildern in Text

    Gehen Sie zunächst zu Baidu Smart Offizielle Cloud-Website zum Anwenden einer Bilderkennungs-API.

    So konvertieren Sie Bilder in Python in Text

    Schreiben Sie die Parameter in das Programm:

    Schreiben Sie den Text Konvertierungsfunktion:So konvertieren Sie Bilder in Python in Text

    So konvertieren Sie Bilder in Python in Text2.5 Ausführen

    Erstellen Sie eine Klasse, wenn Sie sie verwenden. Rufen Sie einfach auf zwei Funktionen:

    So konvertieren Sie Bilder in Python in Text

    2.6 Effekt

    Führen Sie das Programm aus und posten Sie gerne eine Artikel in der Baidu-Bibliothek Machen Sie einen Screenshot:

    So konvertieren Sie Bilder in Python in Text

    Das Ergebnis ist wie folgt:

    # 🎜🎜#Hinweis: So konvertieren Sie Bilder in Python in Text

    Aus den Laufergebnissen von 2.6 ist ersichtlich, dass die Wirkung immer noch gut ist. Hat meine aktuellen Bedürfnisse perfekt erfüllt.

    Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Bilder in Python in Text. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen