Python怎麼識別文字?正確 的方法詳解

2022-05-16 09:23:22 字數 2387 閱讀 6300

爬蟲——文字識別

機器視覺

從google的無人駕駛汽車到可以識別假鈔的自動售賣機,機器視覺一直都是乙個應用廣泛且具有深遠的影響和雄偉的願景的領域。

將影象翻譯成文字一般被稱為光學文字識別(optical character recognition,ocr)。可以實現ocr的底層庫並不多,目前很多庫都是使用共同的幾個底層ocr庫,或者是在上面進行定製。

ocr庫概述

在讀取和處理影象、影象相差的機器學習以及建立影象等任務中,python一直都是非常出色的語言。雖然有很多庫可以進行影象處理,但是這裡我們只介紹tesseract庫。

tesseract

tesseract是乙個ocr庫,目前由google贊助。tesseract是目前公認最優秀、最精確的開源ocr系統。除了極高的精確度,tesseract也具有很高的靈活性。它可以通過訓練識別出任何字型,也可以識別出任何unicode字元。

安裝tesseract:windows系統

安裝pytesseract

tesseract是乙個python的命令列工具,不是通過import語句匯入的庫。安裝之後,要用tesseract命令在python的外面執行,但我們可以通過pip安裝支援python版本的tesseract庫:

pip install pytesseract
處理規範的文字你要處理的大多數文字都是比較乾淨、格式規範的。格式霍英東的文字通常具有以下特點:

使用統一的標準字型(不包含手寫體、草書或者十分「花哨」的字型),影印或者拍照但是字型清晰、沒有多餘的痕跡或者汙點。

排列整齊,沒有歪歪斜斜的字。

沒有超出範圍,也沒有殘缺不全,或緊緊貼在的邊緣。

文字的一些格式問題在預處理時可以進行解決。例如,可以把轉換成灰度圖,調整亮度和對比度,還可以根據需要進行裁剪和旋轉,在這裡不作介紹。

示例:英文:

識別結果的準確率還是挺高的。

通過python**實現

英文:

中文:

#!/usr/bin/python3

# -*- coding:utf-8 -*- 

import pytesseract

from pil import image

# 開啟影象:英文

# ocr識別:lang預設英文

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)

執行結果:

this is some text, written in arial, that will be read by

tesseract. here are some symbols: !@#$%"&*()

******************************

中 華 人 民 共 和 國

都懂了嗎?最後注意:光理論是不夠

Python識別中的文字

參照 2.本地安裝tesseract pip install pytesseract 文字識別 pip install pillow 讀取 參照importosimportpytesseract 文字的路徑 path text img 獲取路徑列表 imgs path iforiinos.listd...

Python 文字識別 Tesseract

tesseract 是乙個 ocr 庫,目前由 google 贊助 google 也是一家以 ocr 和機器學習技術聞名於世的公司 tesseract 是目前公認最優秀 最精確的開源 ocr 系統。除了極高的精確度,tesseract 也具有很高的靈活性。它可以通過訓練識別出任何字型,也可以識別出任...

python識別文字tesseract

ubuntu版本 1.tesseract ocr安裝 sudo apt get install tesseract ocr 2.pytesseract安裝 sudo pip install pytesseract 3.pillow 安裝 sudo pip install pillow 開始寫 fro...