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

全國切換

咨詢熱線 400-001-5729

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

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

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

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

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

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

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

        源碼解析

        1)等待用戶截圖
        此處需要借助貼圖神器(Snipaste)其中“f1”是截圖的快捷鍵,“ctrl+c”是把截圖保存到剪貼板的快捷鍵。
        如果使用qq截圖的話,需要把快捷鍵改為對應(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)識別截圖中的文本
        法一pytesseract模塊
        優(yōu)點:免費,易用缺點:識別效果很一般,準(zhǔn)確率不高
        使用方法介紹:
        1)pip install pytesseract
        2)安裝 tesseract-ocr.exe 配置環(huán)境變量

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

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

        來看看效果:
        low的不行果然,要想精度高,還得用百度API
        法二百度API接口
        AI開放平臺文檔中心https://ai.baidu.com/ai-doc
        查看python語言的SDK文檔
        點擊右上角(控制臺),登錄自己的百度賬號,創(chuàng)建“文字識別”的應(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通用文字識別(高精度版),提取圖片中的內(nèi)容     

                text = client.basicAccurate(image)     

                result = text["words_result"]     

                for i in result:         

                print(i["words"])

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

        我的總結(jié)

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

        其中識別截圖文本,有兩種方法:

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

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

  • 手機:

  • 地區(qū):

  • 想學(xué)什么:

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