Python中識別文字的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)濟(jì)源,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

這篇文章給大家分享的是有關(guān)Python中識別文字的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

爬蟲——文字識別

機(jī)器視覺

從Google的無人駕駛汽車到可以識別假鈔的自動售賣機(jī),機(jī)器視覺一直都是一個應(yīng)用廣泛且具有深遠(yuǎn)的影響和雄偉的愿景的領(lǐng)域。

這里我們將重點(diǎn)介紹機(jī)器視覺的一個分支:文字識別。介紹如何用一些Python庫來識別和使用在線圖片中的文字。

我們可以很輕松的閱讀圖片里的文字,但是機(jī)器閱讀這些圖片就會非常困難,利用這種人類用戶可以正常讀取但是大多數(shù)存貯器沒法讀取的圖片,這時驗(yàn)證碼(CAPTCHA)就出現(xiàn)了。驗(yàn)證碼讀取的難易程序也大不相同。

將圖像翻譯成文字一般被稱為光學(xué)文字識別(Optical Character Recognition,OCR)。可以實(shí)現(xiàn)OCR的底層庫并不多,目前很多庫都是使用共同的幾個底層OCR庫,或者是在上面進(jìn)行定制。

OCR庫概述

在讀取和處理圖像、圖像相差的機(jī)器學(xué)習(xí)以及創(chuàng)建圖像等任務(wù)中,Python一直都是非常出色的語言。雖然有很多庫可以進(jìn)行圖像處理,但是這里我們只介紹Tesseract庫。

Tesseract

Tesseract是一個OCR庫,目前由Google贊助。Tesseract是目前公認(rèn)最優(yōu)秀、最精確的開源OCR系統(tǒng)。除了極高的精確度,Tesseract也具有很高的靈活性。它可以通過訓(xùn)練識別出任何字體,也可以識別出任何Unicode字符。

安裝Tesseract:Windows系統(tǒng)

下載可執(zhí)行安裝文件安裝即可。

安裝pytesseract

Tesseract是一個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ù)處理時可以進(jìn)行解決。例如,可以把圖片轉(zhuǎn)換成灰度圖,調(diào)整亮度和對比度,還可以根據(jù)需要進(jìn)行裁剪和旋轉(zhuǎn),在這里不作介紹。

示例:

英文:

Python中識別文字的方法

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: !@#$%"&*()

識別結(jié)果的準(zhǔn)確率還是挺高的。

通過Python代碼實(shí)現(xiàn)

英文:

Python中識別文字的方法

中文:

Python中識別文字的方法

#!/usr/bin/python3
# -*- coding:utf-8 -*- 
import pytesseract
from PIL import Image
 
# 打開圖像:英文
image = Image.open('english.jpg')
 
# OCR識別:lang默認(rèn)英文
text = pytesseract.image_to_string(image)
 
# 打印識別后的文本
print(text)
 
# 我是分割線
print("*" * 30)
 
# 打開圖像:英文
image = Image.open('china.png')
 
# OCR識別:lang指定中文
text = pytesseract.image_to_string(image, lang = 'chi_sim')
 
# 打印識別后的文本
print(text)

運(yùn)行結(jié)果:

This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()
******************************
中 華 人 民 共 和 國

感謝各位的閱讀!關(guān)于Python中識別文字的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當(dāng)前題目:Python中識別文字的方法-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article46/cocoeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、App設(shè)計、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站排名網(wǎng)站設(shè)計公司靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)