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

使用python進(jìn)行圖片的文字識(shí)別詳細(xì)代碼

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

安裝 Tesseract OCR

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

請(qǐng)?zhí)砑訄D片描述

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

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

安裝過(guò)程

  • 雙擊tesseract-ocr-w64-setup-5.3.1.20230401.exe安裝包進(jìn)行安裝

請(qǐng)?zhí)砑訄D片描述

首先是選擇語(yǔ)言界面,默認(rèn)是英文, 沒(méi)有中文,有其他國(guó)家的語(yǔ)言可以選。

  • 點(diǎn)Next

請(qǐng)?zhí)砑訄D片描述

  • 點(diǎn)I Agree

請(qǐng)?zhí)砑訄D片描述

  • 默認(rèn)為這臺(tái)電腦進(jìn)行安裝

請(qǐng)?zhí)砑訄D片描述

  • 因?yàn)樾枰?Tesseract OCR 中識(shí)別中文簡(jiǎn)體等非英語(yǔ)文本,所有需要安裝相應(yīng)的語(yǔ)言數(shù)據(jù)。

請(qǐng)?zhí)砑訄D片描述

可以只安裝特定語(yǔ)言, 比如中文簡(jiǎn)體

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

  • 安裝中

請(qǐng)?zhí)砑訄D片描述

  • Next

請(qǐng)?zhí)砑訄D片描述

  • Finish

請(qǐng)?zhí)砑訄D片描述

  • 可以在開(kāi)始菜單欄中看到Console

請(qǐng)?zhí)砑訄D片描述

  • 點(diǎn)進(jìn)去就能直接進(jìn)入控制臺(tái)了

請(qǐng)?zhí)砑訄D片描述

  • 輸入:tesseract --help試試

請(qǐng)?zhí)砑訄D片描述

因?yàn)槲覀儾皇侵苯邮褂妹钊ゲ僮鬟@個(gè)tesseract, 而是使用python去操作它, 因此這個(gè)命令行就不用管他, 可以關(guān)掉。接下來(lái)為了讓python能直接使用它, 需要檢查系統(tǒng)的環(huán)境變量有沒(méi)有設(shè)置好。

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

  • 重新開(kāi)個(gè)命令窗口

請(qǐng)?zhí)砑訄D片描述

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

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

  • 以windows10的電腦為例, 打開(kāi)電腦設(shè)置

請(qǐng)?zhí)砑訄D片描述

  • 點(diǎn)擊系統(tǒng), 找到關(guān)于,側(cè)邊有個(gè)高級(jí)系統(tǒng)設(shè)置, 點(diǎn)擊去

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

  • 進(jìn)入后點(diǎn)擊新建

請(qǐng)?zhí)砑訄D片描述

  • 將安裝路徑復(fù)制進(jìn)去,比如我安裝的路徑為D:\Tesseract-OCR

請(qǐng)?zhí)砑訄D片描述

  • 復(fù)制進(jìn)去后點(diǎn)擊確認(rèn)

請(qǐng)?zhí)砑訄D片描述

  • 重新進(jìn)入到命令行中

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

請(qǐng)?zhí)砑訄D片描述

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

安裝python的第三方庫(kù)

Pytesseract庫(kù)

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

請(qǐng)?zhí)砑訄D片描述

有一點(diǎn)需要注意的是,Pytesseract 庫(kù)依賴于 Tesseract OCR 引擎,因此在安裝 Pytesseract 之前請(qǐng)確保已安裝 Tesseract OCR。如果還沒(méi)有安裝 Tesseract OCR,請(qǐng)先下載和安裝它,然后再安裝 Pytesseract。

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

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

Pillow庫(kù)

  • Pillow 是一個(gè)功能強(qiáng)大的圖像處理庫(kù),可以處理多種格式的圖像文件,支持圖像處理、圖像增強(qiáng)、圖像轉(zhuǎn)換等多種操作。
  • 因?yàn)樽R(shí)別圖片需要用到PIL(Python Imaging Library)庫(kù)中的 Image 模塊

使用 pip 工具來(lái)安裝 Pillow 庫(kù)。以下是安裝 Pillow 庫(kù)的命令:

pip install pillow

安裝完成后,就可以在 Python 中使用 from PIL import Image 來(lái)進(jìn)行圖像處理和操作了。

運(yùn)行個(gè)demo

比如識(shí)別這張圖

請(qǐng)?zhí)砑訄D片描述

import pytesseract
from PIL import Image

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

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

# 識(shí)別文本, 使用pytesseract庫(kù)進(jìn)行OCR識(shí)別
text = pytesseract.image_to_string(img)

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

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

識(shí)別效果:

請(qǐng)?zhí)砑訄D片描述

因?yàn)槎际侵形? 識(shí)別不出來(lái)

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

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

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

# 識(shí)別文本, 使用pytesseract庫(kù)進(jìn)行OCR識(shí)別, 將語(yǔ)言設(shè)置成中文
text = pytesseract.image_to_string(img, lang='chi_sim')
# 輸出識(shí)別結(jié)果
print(text)

請(qǐng)?zhí)砑訄D片描述

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

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

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

比如下面是官方的說(shuō)明例子:

from PIL import Image

import pytesseract

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

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

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

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

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

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

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

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

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

# 獲取有關(guān)方向和腳本檢測(cè)的信息
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類型默認(rèn)為bytes

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

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


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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Python+Pillow進(jìn)行圖形處理的示例詳解

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

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

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

    Python網(wǎng)絡(luò)爬蟲(chóng)信息提取mooc代碼實(shí)例

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

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

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

    python中使用時(shí)間戳timestamp問(wèn)題

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

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

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

最新評(píng)論