歡迎來到培訓(xùn)無憂網(wǎng)!

全國(guó)切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > python培訓(xùn) >  用Python開發(fā)截圖識(shí)別工具

用Python開發(fā)截圖識(shí)別工具

來源:培訓(xùn)無憂網(wǎng) 發(fā)布人:彭二胖

2021-11-22 22:40:38|已瀏覽:374次

        你一定用過那種“OCR神器”,可以把圖片中的文字提取出來,極大的提高工作效率。

        今天,我們就來做一款實(shí)時(shí)截圖識(shí)別的小工具。顧名思義,運(yùn)行程序時(shí),可以實(shí)時(shí)的把你截出來的圖片中的文字識(shí)別出來。

        下次,當(dāng)你想要復(fù)制“百度文庫(kù)”中的內(nèi)容時(shí),不妨試試這個(gè)程序。

        源碼解析

        1)等待用戶截圖
        此處需要借助貼圖神器(Snipaste)其中“f1”是截圖的快捷鍵,“ctrl+c”是把截圖保存到剪貼板的快捷鍵。
        如果使用qq截圖的話,需要把快捷鍵改為對(duì)應(yīng)的“ctrl+alt+c”和“enter”

        順便安利一波Snipaste,

        必備效率神器

        import keyboard # 利用截圖軟件(Snipaste)截圖到剪貼板 # 輸入鍵盤的觸發(fā)事件 keyboard.wait(hotkey="f1")   keyboard.wait(hotkey="ctrl+c") time.sleep(0.1)
        上面這段代碼執(zhí)行之后,現(xiàn)在已經(jīng)有一張圖片等待在剪貼板里了。
        2)保存截圖
        利用PIL模塊的ImageGrab,可以把剪貼板里的那張圖片,保存到當(dāng)前的目錄下,并命名為“screen.png”
        from PIL import ImageGrab # 把圖片從剪切板保存到當(dāng)前路徑 image = ImageGrab.grabclipboard()   image.save("screen.png")
        3)識(shí)別截圖中的文本
        法一pytesseract模塊
        優(yōu)點(diǎn):免費(fèi),易用缺點(diǎn):識(shí)別效果很一般,準(zhǔn)確率不高
        使用方法介紹:
        1)pip install pytesseract
        2)安裝 tesseract-ocr.exe 配置環(huán)境變量

        3)修改pytesseract.py文件,將tesseract_cmd指向Tesseract-OCR的tesseract.exe的絕對(duì)路徑

        import pytesseract from PIL import Image # 法一:利用pytesseract模塊 # 參數(shù)一:圖片  # 參數(shù)二:簡(jiǎn)體中文 text = pytesseract.image_to_string(Image.open("screen.png"), lang='chi_sim') print(text)

        來看看效果:
        low的不行果然,要想精度高,還得用百度API
        法二百度API接口
        AI開放平臺(tái)文檔中心https://ai.baidu.com/ai-doc
        查看python語言的SDK文檔
        點(diǎn)擊右上角(控制臺(tái)),登錄自己的百度賬號(hào),創(chuàng)建“文字識(shí)別”的應(yīng)用

                import pytesseract 

                from aip import AipOcr 

                from PIL import ImageGrab 

                # 法二:利用百度API 

                APP_ID = '你的 App ID' 

                API_KEY = '你的 Api Key' 

                SECRET_KEY = '你的 Secret Key' 

                client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

                 # 讀取圖片 

                with open("screen.png", 'rb') as f:     

                image = f.read()     

                # 調(diào)用百度API通用文字識(shí)別(高精度版),提取圖片中的內(nèi)容     

                text = client.basicAccurate(image)     

                result = text["words_result"]     

                for i in result:         

                print(i["words"])

        結(jié)果如文章首圖:

        我的總結(jié)

        1)等待用戶截圖2)保存截圖到當(dāng)前目錄3)識(shí)別截圖中的文本

        其中識(shí)別截圖文本,有兩種方法:

        1)利用 pytesseract 模塊

        2)利用百度API接口

        本文由培訓(xùn)無憂網(wǎng)千鋒教育專屬課程顧問整理發(fā)布,希望能夠?qū)ο雽W(xué)習(xí)Python開發(fā)培訓(xùn)的同學(xué)有所幫助。更多Python開發(fā)培訓(xùn)課程歡迎關(guān)注培訓(xùn)無憂網(wǎng)Python開發(fā)培訓(xùn)頻道或添加老師微信:15033336050

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.elsolbar.com/news-id-4530.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注python培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費(fèi) 申 請(qǐng) 試 聽
提交申請(qǐng),《培訓(xùn)無憂網(wǎng)》課程顧問老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!