python视觉识别字_Python怎么识别文字?正确 的方法详解
爬蟲——文字識(shí)別
機(jī)器視覺
從Google的無人駕駛汽車到可以識(shí)別假鈔的自動(dòng)售賣機(jī),機(jī)器視覺一直都是一個(gè)應(yīng)用廣泛且具有深遠(yuǎn)的影響和雄偉的愿景的領(lǐng)域。
這里我們將重點(diǎn)介紹機(jī)器視覺的一個(gè)分支:文字識(shí)別。介紹如何用一些Python庫來識(shí)別和使用在線圖片中的文字。
我們可以很輕松的閱讀圖片里的文字,但是機(jī)器閱讀這些圖片就會(huì)非常困難,利用這種人類用戶可以正常讀取但是大多數(shù)存貯器沒法讀取的圖片,這時(shí)驗(yàn)證碼(CAPTCHA)就出現(xiàn)了。驗(yàn)證碼讀取的難易程序也大不相同。另外注意:光理論是不夠的。這里順便送大家一套2020最新python入門到高級(jí)項(xiàng)目實(shí)戰(zhàn)視頻教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數(shù)字的諧音)轉(zhuǎn)換下可以找到了,還可以跟老司機(jī)交流討教!
將圖像翻譯成文字一般被稱為光學(xué)文字識(shí)別(Optical Character Recognition,OCR)。可以實(shí)現(xiàn)OCR的底層庫并不多,目前很多庫都是使用共同的幾個(gè)底層OCR庫,或者是在上面進(jìn)行定制。
OCR庫概述
在讀取和處理圖像、圖像相差的機(jī)器學(xué)習(xí)以及創(chuàng)建圖像等任務(wù)中,Python一直都是非常出色的語言。雖然有很多庫可以進(jìn)行圖像處理,但是這里我們只介紹Tesseract庫。
Tesseract
Tesseract是一個(gè)OCR庫,目前由Google贊助。Tesseract是目前公認(rèn)最優(yōu)秀、最精確的開源OCR系統(tǒng)。除了極高的精確度,Tesseract也具有很高的靈活性。它可以通過訓(xùn)練識(shí)別出任何字體,也可以識(shí)別出任何Unicode字符。
安裝Tesseract:Windows系統(tǒng)
下載可執(zhí)行安裝文件安裝即可。
安裝pytesseract
Tesseract是一個(gè)Python的命令行工具,不是通過import語句導(dǎo)入的庫。安裝之后,要用tesseract命令在Python的外面運(yùn)行,但我們可以通過pip安裝支持Python版本的Tesseract庫:
pip?install?pytesseract
處理規(guī)范的文字
你要處理的大多數(shù)文字都是比較干凈、格式規(guī)范的。格式霍英東的文字通常具有以下特點(diǎn):
使用統(tǒng)一的標(biāo)準(zhǔn)字體(不包含手寫體、草書或者十分“花哨”的字體),復(fù)印或者拍照但是字體清晰、沒有多余的痕跡或者污點(diǎn)。
排列整齊,沒有歪歪斜斜的字。
沒有超出圖片范圍,也沒有殘缺不全,或緊緊貼在圖片的邊緣。
文字的一些格式問題在圖片預(yù)處理時(shí)可以進(jìn)行解決。例如,可以把圖片轉(zhuǎn)換成灰度圖,調(diào)整亮度和對(duì)比度,還可以根據(jù)需要進(jìn)行裁剪和旋轉(zhuǎn),在這里不作介紹。
相關(guān)推薦:《Python相關(guān)教程》
示例:
英文:
F:DE209_F>tesseract?english.jpg?text
Tesseract?Open?Source?OCR?Engine?v4.00.00alpha?with?Leptonica
F:DE209_F>type?text.txt
This?is?some?text,?written?in?Arial,?that?will?be?read?by
Tesseract.?Here?are?some?symbols:?!@#$%"&*()
識(shí)別結(jié)果的準(zhǔn)確率還是挺高的。
通過Python代碼實(shí)現(xiàn)
英文:
中文:
#!/usr/bin/python3
#?-*-?coding:utf-8?-*-
import?pytesseract
from?PIL?import?Image
#?打開圖像:英文
image?=?Image.open(‘english.jpg‘)
#?OCR識(shí)別:lang默認(rèn)英文
text?=?pytesseract.image_to_string(image)
#?打印識(shí)別后的文本
print(text)
#?我是分割線
print("*"?*?30)
#?打開圖像:英文
image?=?Image.open(‘china.png‘)
#?OCR識(shí)別:lang指定中文
text?=?pytesseract.image_to_string(image,?lang?=?‘chi_sim‘)
#?打印識(shí)別后的文本
print(text)
運(yùn)行結(jié)果:
This?is?some?text,?written?in?Arial,?that?will?be?read?by
Tesseract.?Here?are?some?symbols:?!@#$%"&*()
******************************
中?華?人?民?共?和?國
都懂了嗎?最后注意:光理論是不夠的。這里順便送大家一套2020最新python入門到高級(jí)項(xiàng)目實(shí)戰(zhàn)視頻教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數(shù)字的諧音)轉(zhuǎn)換下可以找到了,還可以跟老司機(jī)交流討教!
本文的文字及圖片來源于網(wǎng)絡(luò)加上自己的想法,僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,版權(quán)歸原作者所有,如有問題請(qǐng)及時(shí)聯(lián)系我們以作處理。
總結(jié)
以上是生活随笔為你收集整理的python视觉识别字_Python怎么识别文字?正确 的方法详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel给证件照换底色,红、蓝、白底任
- 下一篇: mysql查看指定全局变量_【全局变量】