Python2實(shí)現(xiàn)的圖片文本識(shí)別功能詳解
本文實(shí)例講述了Python2實(shí)現(xiàn)的圖片文本識(shí)別功能。分享給大家供大家參考,具體如下:
這里需要用到python的幾個(gè)庫(kù),分別是pytesser,以及pytesser的依賴庫(kù)PIL。python的版本建議用2.7或者2.7一下的都行,不建議用python3以上的,因?yàn)閜ython3不向下兼容,所以有很多python2的東西它不支持
pytesser下載的話,我直接在pycharm里面下全是失敗,用DOS的命令行下也是失敗,所以還是自己直接去google下吧
地址:http://code.google.com/p/pytesser/downloads/list
如果打不開(kāi)上面的網(wǎng)址的話可以從我的資源里面下載,點(diǎn)擊此處本站下載。
下載好了之后安裝,步驟:
1. 解壓pytesser ,將解壓后的文件復(fù)制到Python安裝目錄的Lib\site-packages下,直接使用,比如我的安裝目錄是:C:\Python27\Lib\site-packages。
2. 這里我建立好的pytesser目錄為C:\Python27\Lib\site-packages\pytesser\
3. 接下來(lái)打開(kāi)pytesser文件夾,將pytesser.py修改成__init__.py,然后打開(kāi)py文件進(jìn)行修改:
①.import Image
改為:from PIL import Image
②.tesseract_exe_name = 'tesseract'
—>tesseract_exe_name = 'C:\\Python27\\Lib\\site-packges\\pytesser\\tesseract
,注意雙斜杠,否則可能因?yàn)檗D(zhuǎn)義字符報(bào)錯(cuò)
接下來(lái)就是下載PIL了。這個(gè)我在pycharm里面也是下載失敗,提示沒(méi)有找到適合python版本的PIL。
可以在DOS命令行下用命令下:pip install Pillow
這里要注意的是如果要直接在DOS下用pip命令的話要先把pip的路徑加到環(huán)境變量path里面去,例如我的pip路徑:“D:\python2.7.13\Scripts\”
注:小編嘗試后發(fā)現(xiàn)
PIL
安裝很麻煩,推薦下載exe直接安裝具體可至PIL官網(wǎng)查找對(duì)應(yīng)安裝版本:http://pythonware.com/products/pil/
全部下載完之后就可以開(kāi)始拿圖片測(cè)試了。這里我們先拿上面下載的pytesser壓縮包里面給的測(cè)試圖片來(lái)測(cè)試
代碼如下:
from pytesser import * img=Image.open("D:\\fnord.tif") #我這里是直接把圖片復(fù)制在d盤下??梢噪S意更改。如果是d盤下的XX文件夾,路徑就是:d:\XX\\fnord.tif #一些對(duì)python不熟悉的小伙伴要注意的是這個(gè)路徑只有最后一個(gè)斜杠要改成雙斜杠,前面的都是單斜杠,如果不是這樣的話在pycharm里面就會(huì)報(bào)一些看不懂的錯(cuò)誤,百度到死都不知道怎么解決。 print image_to_string(img)
或者可以寫成:
print image_file_to_string("D:\\fnord.tif")
這里需要注意一下,直接運(yùn)行上面的代碼的話可能會(huì)報(bào)一個(gè)找不到Image類的錯(cuò)誤,具體我也不是很清楚,可能是因?yàn)閜ytesser只支持PIL的Image類吧,因此我們還要改一個(gè)東西,就是上面步驟3中pytesser包里面__init__.py 文件的第一行:import Image
改成from PIL import Image
。如圖:
這時(shí)候就可以看到輸出結(jié)果:
大功告成。
最后說(shuō)一下這個(gè)方法的一些缺點(diǎn),就是識(shí)別率不高,要圖片里面的文字很清晰才可以識(shí)別出來(lái),要想提高識(shí)別率的話還要對(duì)圖片進(jìn)行一些操作,這里就不詳細(xì)說(shuō)啦,請(qǐng)大家自行百度。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
用python wxpy管理微信公眾號(hào)并利用微信獲取自己的開(kāi)源數(shù)據(jù)
這篇文章主要介紹了用python wxpy管理微信公眾號(hào)并利用微信獲取自己的開(kāi)源數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07- 在實(shí)驗(yàn)中需要自己構(gòu)造單獨(dú)的HTTP數(shù)據(jù)報(bào)文,而使用SOCK_STREAM進(jìn)行發(fā)送數(shù)據(jù)包,需要進(jìn)行完整的TCP交互。因此想使用原始套接字進(jìn)行編程,直接構(gòu)造數(shù)據(jù)包,并在IP層進(jìn)行發(fā)送,即采用SOCK_RAW進(jìn)行數(shù)據(jù)發(fā)送。使用SOCK_RAW的優(yōu)勢(shì)是,可以對(duì)數(shù)據(jù)包進(jìn)行完整的修改,可以處理IP層上的所有數(shù)據(jù)包,對(duì)各字段進(jìn)行修改,而不受UDP和TCP的限制。2014-02-02
python上selenium的彈框操作實(shí)現(xiàn)
這篇文章主要介紹了python上selenium的彈框操作實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python中實(shí)現(xiàn)k-means聚類算法詳解
這篇文章主要介紹了python中實(shí)現(xiàn)k-means聚類算法詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11Python實(shí)現(xiàn)員工信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)員工信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06