欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python進行圖片的文字識別詳細代碼

 更新時間:2023年05月21日 15:00:23   作者:CS@zeny  
Tesseract OCR是一款由Google團隊開發(fā)的開源OCR引擎,用于將圖片、PDF 等格式中的文本轉(zhuǎn)換為可編輯的文本格式,本文主要介紹了Python進行圖片的文字識別功能OCR的相關知識,需要的朋友可以參考下

安裝 Tesseract OCR

  • Tesseract OCR 是一款由 Google 團隊開發(fā)的開源 OCR(Optical Character Recognition,光學字符識別)引擎,用于將圖片、PDF 等格式中的文本轉(zhuǎn)換為可編輯的文本格式。自 1985 年首次發(fā)布以來,它已經(jīng)經(jīng)歷了多個版本和改進,并成為目前最受歡迎的 OCR 引擎之一。
  • Tesseract OCR 支持多種語言,包括英語、中文、日語、俄語等等,而且具有較高的準確率和穩(wěn)定性,尤其在處理大量文字的場景下表現(xiàn)突出。同時,該引擎還支持多線程處理,可以有效地提高識別速度。
  • 下載地址:Home · UB-Mannheim/tesseract Wiki (github.com)
  • Windows安裝包: https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.1.20230401.exe

請?zhí)砑訄D片描述

注意: 這是Windows64位系統(tǒng)安裝包.

tesseract源碼的GitHub地址:tesseract-ocr/tesseract: Tesseract Open Source OCR Engine ,有能力的可以自行編譯源代碼

安裝過程

  • 雙擊tesseract-ocr-w64-setup-5.3.1.20230401.exe安裝包進行安裝

請?zhí)砑訄D片描述

首先是選擇語言界面,默認是英文, 沒有中文,有其他國家的語言可以選。

  • Next

請?zhí)砑訄D片描述

  • I Agree

請?zhí)砑訄D片描述

  • 默認為這臺電腦進行安裝

請?zhí)砑訄D片描述

  • 因為需要在 Tesseract OCR 中識別中文簡體等非英語文本,所有需要安裝相應的語言數(shù)據(jù)。

請?zhí)砑訄D片描述

可以只安裝特定語言, 比如中文簡體

請?zhí)砑訄D片描述

  • 選擇安裝路徑, 比如我選的是D:\Tesseract-OCR,待會配系統(tǒng)環(huán)境變量可能會用到這個安裝路徑。

請?zhí)砑訄D片描述

  • 創(chuàng)建快捷圖標

請?zhí)砑訄D片描述

  • 安裝中

請?zhí)砑訄D片描述

  • Next

請?zhí)砑訄D片描述

  • Finish

請?zhí)砑訄D片描述

  • 可以在開始菜單欄中看到Console

請?zhí)砑訄D片描述

  • 點進去就能直接進入控制臺了

請?zhí)砑訄D片描述

  • 輸入:tesseract --help試試

請?zhí)砑訄D片描述

因為我們不是直接使用命令去操作這個tesseract, 而是使用python去操作它, 因此這個命令行就不用管他, 可以關掉。接下來為了讓python能直接使用它, 需要檢查系統(tǒng)的環(huán)境變量有沒有設置好。

在Windows操作系統(tǒng)中,環(huán)境變量用于存儲一些系統(tǒng)或用戶自定義的參數(shù)和路徑信息。這些參數(shù)和路徑信息可以幫助操作系統(tǒng)找到系統(tǒng)中安裝的軟件和程序,以便正確地運行它們。

  • 重新開個命令窗口

請?zhí)砑訄D片描述

輸入tesseract -v查看版本號,你可能會出現(xiàn)上面的情況, 就是沒有配置好系統(tǒng)的環(huán)境變量,那就需要配置環(huán)境變量

配置系統(tǒng)的環(huán)境變量

  • 以windows10的電腦為例, 打開電腦設置

請?zhí)砑訄D片描述

  • 點擊系統(tǒng), 找到關于,側(cè)邊有個高級系統(tǒng)設置, 點擊去

請?zhí)砑訄D片描述

  • 可以看到環(huán)境變量, 點進去

請?zhí)砑訄D片描述

  • 找到系統(tǒng)變量中的Path選中, 再點擊編輯

請?zhí)砑訄D片描述

  • 進入后點擊新建

請?zhí)砑訄D片描述

  • 將安裝路徑復制進去,比如我安裝的路徑為D:\Tesseract-OCR

請?zhí)砑訄D片描述

  • 復制進去后點擊確認

請?zhí)砑訄D片描述

  • 重新進入到命令行中

輸入tesseract -v, 若出現(xiàn)版本號則設置成功

請?zhí)砑訄D片描述

OK, tesseract算是安裝完成了, 接下來使用python去操作它了!

安裝python的第三方庫

Pytesseract庫

  • Pytesseract 是一個 Python 的 OCR(Optical Character Recognition,光學字符識別)庫,可以用來將圖片、PDF 等文件中的文本轉(zhuǎn)換為可編輯的文本格式。它基于 Google 的 Tesseract OCR 引擎,支持多種語言,并且具有較高的準確率和穩(wěn)定性。
  • 安裝 Pytesseract 庫可以使用 pip 工具快速完成。按照以下步驟進行操作:
    • 打開命令行工具(Windows: cmd,Linux/macOS: Terminal)。
    • 輸入以下命令來安裝 Pytesseract:
pip install pytesseract
  • 等待安裝完成即可。

請?zhí)砑訄D片描述

有一點需要注意的是,Pytesseract 庫依賴于 Tesseract OCR 引擎,因此在安裝 Pytesseract 之前請確保已安裝 Tesseract OCR。如果還沒有安裝 Tesseract OCR,請先下載和安裝它,然后再安裝 Pytesseract。

  • 可以使用pip list 命令列出你已經(jīng)安裝的python庫

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

Pillow庫

  • Pillow 是一個功能強大的圖像處理庫,可以處理多種格式的圖像文件,支持圖像處理、圖像增強、圖像轉(zhuǎn)換等多種操作。
  • 因為識別圖片需要用到PIL(Python Imaging Library)庫中的 Image 模塊

使用 pip 工具來安裝 Pillow 庫。以下是安裝 Pillow 庫的命令:

pip install pillow

安裝完成后,就可以在 Python 中使用 from PIL import Image 來進行圖像處理和操作了。

運行個demo

比如識別這張圖

請?zhí)砑訄D片描述

import pytesseract
from PIL import Image

# 加載圖片
img = Image.open('images/demo.png')

# 轉(zhuǎn)換為灰度圖像
img = img.convert('L')

# 識別文本, 使用pytesseract庫進行OCR識別
text = pytesseract.image_to_string(img)

# 輸出識別結(jié)果
print(text)

注意: 默認識別英文和數(shù)字

識別效果:

請?zhí)砑訄D片描述

因為都是中文, 識別不出來

  • 若要識別中文, 得進行配置 (前提是安裝tesseract時要選擇下載好中文簡體數(shù)據(jù)包才能進行使用)
import pytesseract
from PIL import Image

# 加載圖片
img = Image.open('images/demo.png')

# 轉(zhuǎn)換為灰度圖像
img = img.convert('L')

# 識別文本, 使用pytesseract庫進行OCR識別, 將語言設置成中文
text = pytesseract.image_to_string(img, lang='chi_sim')
# 輸出識別結(jié)果
print(text)

請?zhí)砑訄D片描述

這個識別的正確率還可以, 這取決于圖片的質(zhì)量和文字的清晰規(guī)整程度

OK, 上述只是簡單的小例子,更多用法可以自行探索, 還可以設置其他參數(shù)來提高文字的識別正確率!

  • 使用說明文檔https://github.com/madmaze/pytesseract/blob/master/README.rst

比如下面是官方的說明例子:

from PIL import Image

import pytesseract

# 如果您的PATH中沒有tesseract可執(zhí)行文件,請包括以下內(nèi)容:
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# 示例 tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract'

# 簡單的圖像轉(zhuǎn)字符串
print(pytesseract.image_to_string(Image.open('test.png')))

# 為了繞過pytesseract的圖像轉(zhuǎn)換,只需使用相對或絕對圖像路徑
# 注意:在這種情況下,您應該提供tesseract支持的圖像,否則tesseract將返回錯誤
print(pytesseract.image_to_string('test.png'))

# 可用語言列表
print(pytesseract.get_languages(config=''))

# 將法語文本圖像轉(zhuǎn)換為字符串
print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra'))

# 使用包含多個圖像文件路徑列表的單個文件進行批處理
print(pytesseract.image_to_string('images.txt'))

# 在一段時間后超時/終止tesseract作業(yè)
try:
    print(pytesseract.image_to_string('test.jpg', timeout=2)) # 在2秒后超時
    print(pytesseract.image_to_string('test.jpg', timeout=0.5)) # 半秒后超時
except RuntimeError as timeout_error:
    # tesseract處理已終止
    pass

# 獲取邊界框估計
print(pytesseract.image_to_boxes(Image.open('test.png')))

# 獲取詳細數(shù)據(jù),包括框、置信度、行和頁碼
print(pytesseract.image_to_data(Image.open('test.png')))

# 獲取有關方向和腳本檢測的信息
print(pytesseract.image_to_osd(Image.open('test.png')))

# 獲取可搜索的PDF
pdf = pytesseract.image_to_pdf_or_hocr('test.png', extension='pdf')
with open('test.pdf', 'w+b') as f:
    f.write(pdf) # pdf類型默認為bytes

# 獲取HOCR輸出
hocr = pytesseract.image_to_pdf_or_hocr('test.png', extension='hocr')

# 獲取ALTO XML輸出
xml = pytesseract.image_to_alto_xml('test.png')


以上就是使用python進行圖片的文字識別詳細代碼的詳細內(nèi)容,更多關于python 圖片文字識別的資料請關注腳本之家其它相關文章!

相關文章

  • PyCharm2020.1.1與Python3.7.7的安裝教程圖文詳解

    PyCharm2020.1.1與Python3.7.7的安裝教程圖文詳解

    這篇文章主要介紹了PyCharm2020.1.1與Python3.7.7的安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Python中斷多重循環(huán)的幾種方式詳解

    Python中斷多重循環(huán)的幾種方式詳解

    這篇文章主要介紹了Python中斷多重循環(huán)的幾種方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 淺談Python數(shù)學建模之線性規(guī)劃

    淺談Python數(shù)學建模之線性規(guī)劃

    線性規(guī)劃是運籌學中研究較早、發(fā)展較快、應用廣泛、方法較成熟的一個重要分支,它是輔助人們進行科學管理的一種數(shù)學方法。研究線性約束條件下線性目標函數(shù)的極值問題的數(shù)學理論和方法
    2021-06-06
  • Python協(xié)程asyncio異步編程筆記分享

    Python協(xié)程asyncio異步編程筆記分享

    這篇文章主要介紹了Python協(xié)程asyncio異步編程筆記分享,基于async & await關鍵字的協(xié)程可以實現(xiàn)異步編程,這也是目前python異步相關的主流技術
    2021-09-09
  • Python+Pillow進行圖形處理的示例詳解

    Python+Pillow進行圖形處理的示例詳解

    PIL:Python Imaging Library,已經(jīng)是Python平臺事實上的圖像處理標準庫了。PIL功能非常強大,但API卻非常簡單易用。本文就將利用Pillow進行簡單的圖形處理,需要的可以參考一下
    2022-10-10
  • 使用 Python 和 OpenCV 實現(xiàn)實時人臉識別功能

    使用 Python 和 OpenCV 實現(xiàn)實時人臉識別功能

    本文詳細講解了使用Python和OpenCV庫實行實時人臉識別的過程,首先,確保安裝OpenCV庫,并通過Haar級聯(lián)分類器進行人臉檢測,實現(xiàn)步驟包括打開攝像頭、圖像灰度轉(zhuǎn)換、人臉檢測及繪制矩形框,代碼示例清晰展示了從設置攝像頭到最終展示檢測結(jié)果的完整過程
    2024-11-11
  • Python網(wǎng)絡爬蟲信息提取mooc代碼實例

    Python網(wǎng)絡爬蟲信息提取mooc代碼實例

    這篇文章主要介紹了python網(wǎng)絡爬蟲與信息提取mooc,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Python內(nèi)置函數(shù)round()的用法和注意事項詳解

    Python內(nèi)置函數(shù)round()的用法和注意事項詳解

    這篇文章主要介紹了Python中round()函數(shù)的相關資料,包括其基本語法、使用示例和注意事項,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • python中使用時間戳timestamp問題

    python中使用時間戳timestamp問題

    文章介紹了Python中使用時間戳和時間模塊的操作,包括獲取當前時間、計算程序運行時間以及時間戳與時間字符串之間的轉(zhuǎn)換
    2025-02-02
  • Python日志模塊logging的使用方法總結(jié)

    Python日志模塊logging的使用方法總結(jié)

    這篇文章主要分享的是Python日志模塊logging的使用方法總結(jié),ogging模塊默認級別是WARNING,意味著只會追蹤該級別以上的事件,除非更改日志配置,想了解更多相關資料的小伙伴可以參考下面文章內(nèi)容
    2022-05-05

最新評論