Python使用Tesseract實現(xiàn)從圖像中讀取文本
我們將介紹如何使用 Python 中的 Tesseract 創(chuàng)建一個可以從圖像中讀取文本的程序。
Python 中的超正方體
當(dāng)我們使用需要從圖像中讀取文本的功能的系統(tǒng)時,我們會使用 Python 中的 Tesseract。 它提供了強大的功能,幫助我們更準(zhǔn)確、更高效地從圖像中讀取文本。
本文還將介紹使用流行的 OpenCV 庫從圖像中提取文本。
Tesseract 是一個基于計算機的系統(tǒng),用于光學(xué)字符識別 (OCR) 和其他圖像到文本處理。 它主要用于不使用拉丁字母的語言的文本識別。
該系統(tǒng)可用于多種用途,包括文本和數(shù)據(jù)挖掘、教育、翻譯和機器翻譯。
Tesseract 也是該軟件開源版本的名稱。 它通常用于自然語言處理和機器學(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 庫,一個 Python 成像庫。 該庫將為我們的 python 解釋器添加圖像處理功能。
我們可以使用下面所示的命令安裝這個庫。
# python pip install Pillow
在 Python 中使用 Tesseract 從圖像中讀取文本
現(xiàn)在,讓我們使用 Tesseract 在 Python 中從圖像中讀取文本。 我們需要按照以下步驟使其發(fā)揮作用。
首先,我們將從圖庫中導(dǎo)入或加載要從中讀取文本的圖像,如果沒有,我們可以從 Chrome 下載它,然后加載它。
導(dǎo)入圖像后,我們會將加載的圖像轉(zhuǎ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)在,讓我們使用以下代碼運行上面的代碼,并檢查它是如何工作的以及它從圖像中讀取文本的效果如何。
# python python main.py --image img/read.jpg
我們發(fā)送的圖片如下所示:
圖像處理完成后,將以灰度形式保存,如下所示:
我們將在命令提示符中得到以下輸出:
正如您在上面的示例中看到的,我們可以輕松使用圖像并閱讀其文本。 如果需要,我們可以存儲它們或?qū)⑺鼈冿@示在控制臺中。
以上就是Python使用Tesseract實現(xiàn)從圖像中讀取文本的詳細內(nèi)容,更多關(guān)于python Tesseract圖像讀取文本的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python itchat實現(xiàn)微信自動回復(fù)的示例代碼
本篇文章主要介紹了python itchat實現(xiàn)微信自動回復(fù)的示例代碼,可以實現(xiàn)微信自動回復(fù),有興趣的可以了解一下2017-08-08mac 上配置Pycharm連接遠程服務(wù)器并實現(xiàn)使用遠程服務(wù)器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠程服務(wù)器并實現(xiàn)使用遠程服務(wù)器Python解釋器,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03Python入門Anaconda和Pycharm的安裝和配置詳解
這篇文章主要介紹了Python入門Anaconda和Pycharm的安裝和配置詳解,文章通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07