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 itchat實(shí)現(xiàn)微信自動(dòng)回復(fù)的示例代碼
本篇文章主要介紹了python itchat實(shí)現(xiàn)微信自動(dòng)回復(fù)的示例代碼,可以實(shí)現(xiàn)微信自動(dòng)回復(fù),有興趣的可以了解一下2017-08-08
mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
利用Python實(shí)現(xiàn)繪制3D愛心的代碼分享
最近你是否也被李峋的愛心跳動(dòng)代碼所感動(dòng),心動(dòng)不如行動(dòng),相同的代碼很多,我們今天換一個(gè)玩法!構(gòu)建一個(gè)三維的跳動(dòng)愛心!嗯!這篇博客本著開源的思想!不是說誰對(duì)浪漫過敏的2022-11-11
Python處理PPT文件的實(shí)用知識(shí)點(diǎn)總結(jié)
python是一門很強(qiáng)大的語言,因?yàn)橛兄S富的第三方庫,所以可以說Python是無所不能的,下面這篇文章主要給大家介紹了關(guān)于用Python提取PPT中圖片的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
Python入門Anaconda和Pycharm的安裝和配置詳解
這篇文章主要介紹了Python入門Anaconda和Pycharm的安裝和配置詳解,文章通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

