Python使用Tesseract實(shí)現(xiàn)從圖像中讀取文本
我們將介紹如何使用 Python 中的 Tesseract 創(chuàng)建一個(gè)可以從圖像中讀取文本的程序。
Python 中的超正方體
當(dāng)我們使用需要從圖像中讀取文本的功能的系統(tǒng)時(shí),我們會(huì)使用 Python 中的 Tesseract。 它提供了強(qiáng)大的功能,幫助我們更準(zhǔn)確、更高效地從圖像中讀取文本。
本文還將介紹使用流行的 OpenCV 庫從圖像中提取文本。
Tesseract 是一個(gè)基于計(jì)算機(jī)的系統(tǒng),用于光學(xué)字符識(shí)別 (OCR) 和其他圖像到文本處理。 它主要用于不使用拉丁字母的語言的文本識(shí)別。
該系統(tǒng)可用于多種用途,包括文本和數(shù)據(jù)挖掘、教育、翻譯和機(jī)器翻譯。
Tesseract 也是該軟件開源版本的名稱。 它通常用于自然語言處理和機(jī)器學(xué)習(xí)中的文本分類和其他與文本相關(guān)的任務(wù)。
首先,讓我們使用以下代碼行在 Python 中安裝 Tesseract 工具。
# python pip install pytesseract
安裝 Tesseract 工具后,我們將安裝其他重要的庫,我們將在示例中使用它們從圖像中讀取文本。 首先,我們將使用以下命令安裝 OpenCV。
# python pip install opencv-python
現(xiàn)在我們將安裝 ArgParse 庫,我們將使用它來創(chuàng)建用戶友好的命令行界面。 我們可以使用以下命令輕松安裝它。
# python pip install argparse
我們現(xiàn)在將安裝 Pillow 庫,一個(gè) Python 成像庫。 該庫將為我們的 python 解釋器添加圖像處理功能。
我們可以使用下面所示的命令安裝這個(gè)庫。
# python pip install Pillow
在 Python 中使用 Tesseract 從圖像中讀取文本
現(xiàn)在,讓我們使用 Tesseract 在 Python 中從圖像中讀取文本。 我們需要按照以下步驟使其發(fā)揮作用。
首先,我們將從圖庫中導(dǎo)入或加載要從中讀取文本的圖像,如果沒有,我們可以從 Chrome 下載它,然后加載它。
導(dǎo)入圖像后,我們會(huì)將加載的圖像轉(zhuǎn)換為二進(jìn)制文件。 在最后一步中,我們將二進(jìn)制文件發(fā)送到 Tesseract,Tesseract 將查找其中的文本并從圖像中返回文本。
我們將導(dǎo)入之前安裝的所有庫。
# python import cv2 import os,argparse import pytesseract from PIL import Image
我們將使用 ArgParse 函數(shù) ArgumentParser() 構(gòu)造參數(shù)解析器,如下所示。
# python
imgArg = argparse.ArgumentParser()
imgArg.add_argument("-i","--image",
required=True,
help="Enter path of image folder")
imgArg.add_argument("-p","--pre_processor",
default="thresh",
help="the preprocessor usage")
arguments = vars(imgArg.parse_args())
現(xiàn)在,我們將使用 OpenCV 庫通過以下代碼讀取帶有文本的圖像。
# python imageRead = cv2.imread(arguments["image"])
現(xiàn)在,我們將使用 OpenCV 庫將圖像轉(zhuǎn)換為灰度,如下所示。
#python imgGray=cv2.cvtColor(imageRead, cv2.COLOR_BGR2GRAY)
然后,我們將使用 if-else 語句來檢查圖像是否被脫?;蚰:?如果是,我們可以更改閾值和模糊,如下所示。
# python
if arguments["pre_processor"]=="thresh":
cv2.threshold(gray, 0,255,cv2.THRESH_BINARY| cv2.THRESH_OTSU)[1]
if arguments["pre_processor"]=="blur":
cv2.medianBlur(gray, 3)
如下所示,我們將使用 OpenCV 和 Tesseract 庫將圖像添加到內(nèi)存中。
# python
nameImg = "{}.jpg".format(os.getpid())
cv2.imwrite(nameImg, gray)
imgText = pytesseract.image_to_string(Image.open(nameImg))
os.remove(nameImg)
print(imgText)
現(xiàn)在,我們將使用以下代碼顯示圖像輸出。
# python
cv2.imshow("Images Uploaded", imageRead)
cv2.imshow("Images Converted In Grayscale", imgGray)
cv2.waitKey(0)
現(xiàn)在,讓我們使用以下代碼運(yùn)行上面的代碼,并檢查它是如何工作的以及它從圖像中讀取文本的效果如何。
# python python main.py --image img/read.jpg
我們發(fā)送的圖片如下所示:

圖像處理完成后,將以灰度形式保存,如下所示:

我們將在命令提示符中得到以下輸出:

正如您在上面的示例中看到的,我們可以輕松使用圖像并閱讀其文本。 如果需要,我們可以存儲(chǔ)它們或?qū)⑺鼈冿@示在控制臺(tái)中。
以上就是Python使用Tesseract實(shí)現(xiàn)從圖像中讀取文本的詳細(xì)內(nèi)容,更多關(guān)于python Tesseract圖像讀取文本的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python模塊之sys模塊和序列化模塊(實(shí)例講解)
下面小編就為大家?guī)硪黄猵ython模塊之sys模塊和序列化模塊(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Tensorflow安裝問題: Could not find a version that satisfies the
這篇文章主要介紹了Tensorflow安裝問題: Could not find a version that satisfies the requirement tensorflow,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
從零開始帶你使用Python開發(fā)一個(gè)命令行工具
在現(xiàn)代?Python?開發(fā)生態(tài)中,命令行工具CLI是自動(dòng)化,腳本化和工具鏈集成的核心,下面我們就來看看如何借助uv和?PyPI快速開發(fā)并打包發(fā)布一個(gè)?CLI?工具吧2026-02-02

