Python實現(xiàn)識別圖片為文字的示例代碼
本來想著做一個將圖片識別為文字的小功能,本想到Google上面第一頁全是各種收費平臺的廣告。
這些平臺提供的基本都是讓我們通過調(diào)用相關(guān)的三方接口實現(xiàn)的,本著堅決不想花一分錢的態(tài)度,在論壇找有沒有可以免費解決的方案。
果然,有大佬早就做出開源框架pytesseract,差點讓我損失了一筆巨款,哈哈~
這次只為實現(xiàn)將圖片識別為文字的業(yè)務(wù)功能,就不使用PyQt5做頁面應(yīng)用了。后面若是需要做成UI應(yīng)用朋友比較多,我有時間會將這個小工具封裝開發(fā)成一個PyQ5界面應(yīng)用的小工具。
1、環(huán)境準備
還是老規(guī)矩吧,像一些比較有歧義的環(huán)境準備工作,我都會將我使用到的python庫的版本列出來,防止小伙伴們走一些彎路。
操作系統(tǒng):windows7
python版本:3.8.10
pytesseract版本:0.3.9
首先需要安裝兩個三方模塊,一個是PIL圖片處理庫,另一個是pytesseract識別文字用到的python庫。
pip?install?PIL?-i?https://pypi.tuna.tsinghua.edu.cn/simple/ pip?install?pytesseract?-i?https://pypi.tuna.tsinghua.edu.cn/simple/
安裝好這兩個python非標準庫以后,還有一個比較重要的操作就是需要額外的安裝一個工具Tesseract-OCR,這個工具實際上是我們用來識別圖片必須的一個工具。
為了防止丟失,我將Tesseract-OCR工具的安裝包和其需要的中文語言包放在了百度網(wǎng)盤中,在公眾號內(nèi)回復(fù)'Tesseract-OCR'工具可以獲取網(wǎng)盤下載鏈接感興趣的小伙伴直接去下載就好了。
下載完成以后直接進行解壓即可,解壓完成后的文件目錄是下面這樣的。
解壓完成后直接安裝Tesseract-OCR工具,雙擊打開就可以進行安裝了,傻瓜式安裝即可。
下面這個是我在給大家測試的時候截圖的一張安裝過程中的圖。
安裝完成后,我們需要將上面下載的中文包加入到安裝好的Tesseract-OCR工具主目錄下面的\tessdata文件夾中。
下面是我已經(jīng)將中文語言包放入到../Tesseract-OCR/tessdata文件中了。
中文語言包放好后,就可以直接進入下一步的操作了,那就是修改環(huán)境相關(guān)的配置,實際上只要需要一個相關(guān)的參數(shù)就OK了。
找到本地的python環(huán)境的安裝位置,找到我們前面安裝好的pytesseract的位置去修改參數(shù)一個叫做tesseract_cmd變量的值,具體操作是這樣的。
上面是我的pytesseract庫的安裝位置,找到之后打開pytesseract.py文件將tesseract_cmd變量的值替換為我們安裝的Tesseract-OCR工具的tesseract.exe應(yīng)用程序的路徑。
默認Tesseract-OCR工具的安裝位置是下面這樣這個路徑,小伙伴們可以根據(jù)自己的位置設(shè)置。
C:/Program?Files?(x86)/Tesseract-OCR/tesseract.exe
這是我已經(jīng)修改好的pytesseract.py文件中tesseract_cmd變量的值。
tesseract_cmd?=?'C:/Program?Files?(x86)/Tesseract-OCR/tesseract.exe'
至此,準備工作終于做完了,接下來就是我們大顯身手的時間了,來輕松實現(xiàn)一個圖片到文字的轉(zhuǎn)換吧!
2、業(yè)務(wù)實現(xiàn)
代碼實現(xiàn)過程相當(dāng)簡單,比較上面的安裝配置過程簡直就是小菜一碟了,導(dǎo)入相關(guān)的python模塊中實際上只需要一行代碼就可以實現(xiàn)將圖片內(nèi)容識別為文字了。
#?導(dǎo)入python非標準模塊 from?PIL?import?Image import?pytesseract?as?pyt #?讀取圖片中的文字內(nèi)容 text?=?pyt.image_to_string(Image.open('chinese-image.jpg'),?lang='chi_sim') #?打印文字內(nèi)容 print(text)
3、效果展示
為了測試一下效果,我用本地的畫圖軟件畫了一張圖,圖片上寫上文字,文字內(nèi)容是:
大家好,我是 Python 集中營!下面是我的測試圖片。
下面執(zhí)行上面的圖片識別代碼塊產(chǎn)生的效果,直接一字不差的就將文字讀取的出來,簡直是滿滿的成就感,晚上可以好好睡個覺了,沒有bug的夢估計很甜!
# 大家好 , 我是 Python 集中營 !
到此這篇關(guān)于Python實現(xiàn)識別圖片為文字的示例代碼的文章就介紹到這了,更多相關(guān)Python識別圖片為文字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch常用函數(shù)之torch.randn()解讀
這篇文章主要介紹了pytorch常用函數(shù)之torch.randn()解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02python3.5 + PyQt5 +Eric6 實現(xiàn)的一個計算器代碼
這篇文章主要介紹了python3.5 + PyQt5 +Eric6 實現(xiàn)的一個計算器代碼,在windows7 32位系統(tǒng)可以完美運行 計算器,有興趣的可以了解一下。2017-03-03Python在字典中獲取帶權(quán)重的隨機值實現(xiàn)方式
這篇文章主要介紹了Python在字典中獲取帶權(quán)重的隨機值,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-11-11Python趣味爬蟲之用Python實現(xiàn)智慧校園一鍵評教
你還在為智慧校園每周的評教而苦惱嗎?今天我來幫你解放雙手,用Python實現(xiàn)一鍵評教,從此生活無憂無慮,文中有非常詳細的代碼示例,需要的朋友可以參考下2021-05-05