最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

安裝 Tesseract OCR

  • Tesseract OCR 是一款由 Google 團(tuán)隊開發(fā)的開源 OCR(Optical Character Recognition,光學(xué)字符識別)引擎,用于將圖片、PDF 等格式中的文本轉(zhuǎn)換為可編輯的文本格式。自 1985 年首次發(fā)布以來,它已經(jīng)經(jīng)歷了多個版本和改進(jìn),并成為目前最受歡迎的 OCR 引擎之一。
  • Tesseract OCR 支持多種語言,包括英語、中文、日語、俄語等等,而且具有較高的準(zhǔn)確率和穩(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安裝包進(jìn)行安裝

請?zhí)砑訄D片描述

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

  • Next

請?zhí)砑訄D片描述

  • I Agree

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

  • 安裝中

請?zhí)砑訄D片描述

  • Next

請?zhí)砑訄D片描述

  • Finish

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

  • 點進(jìn)去就能直接進(jìn)入控制臺了

請?zhí)砑訄D片描述

  • 輸入:tesseract --help試試

請?zhí)砑訄D片描述

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

在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的電腦為例, 打開電腦設(shè)置

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

請?zhí)砑訄D片描述

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

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

請?zhí)砑訄D片描述

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

安裝python的第三方庫

Pytesseract庫

  • Pytesseract 是一個 Python 的 OCR(Optical Character Recognition,光學(xué)字符識別)庫,可以用來將圖片、PDF 等文件中的文本轉(zhuǎn)換為可編輯的文本格式。它基于 Google 的 Tesseract OCR 引擎,支持多種語言,并且具有較高的準(zhǔn)確率和穩(wěn)定性。
  • 安裝 Pytesseract 庫可以使用 pip 工具快速完成。按照以下步驟進(jìn)行操作:
    • 打開命令行工具(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 是一個功能強(qiáng)大的圖像處理庫,可以處理多種格式的圖像文件,支持圖像處理、圖像增強(qiáng)、圖像轉(zhuǎn)換等多種操作。
  • 因為識別圖片需要用到PIL(Python Imaging Library)庫中的 Image 模塊

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

pip install pillow

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

運行個demo

比如識別這張圖

請?zhí)砑訄D片描述

import pytesseract
from PIL import Image

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

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

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

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

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

識別效果:

請?zhí)砑訄D片描述

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

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

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

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

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

請?zhí)砑訄D片描述

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

OK, 上述只是簡單的小例子,更多用法可以自行探索, 還可以設(shè)置其他參數(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)換,只需使用相對或絕對圖像路徑
# 注意:在這種情況下,您應(yīng)該提供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'))

# 使用包含多個圖像文件路徑列表的單個文件進(jìn)行批處理
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')))

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

# 獲取有關(guān)方向和腳本檢測的信息
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)行圖片的文字識別詳細(xì)代碼的詳細(xì)內(nèi)容,更多關(guān)于python 圖片文字識別的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python中的字符串內(nèi)部換行方法

    python中的字符串內(nèi)部換行方法

    今天小編就為大家分享一篇python中的字符串內(nèi)部換行方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 基于Django的ModelForm組件(詳解)

    基于Django的ModelForm組件(詳解)

    下面小編就為大家分享一篇基于Django的ModelForm組件詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 基于Python實現(xiàn)網(wǎng)絡(luò)流量監(jiān)控的方法詳解

    基于Python實現(xiàn)網(wǎng)絡(luò)流量監(jiān)控的方法詳解

    本文主要介紹了一種使用Python和psutil庫在KaliLinux環(huán)境下監(jiān)控網(wǎng)絡(luò)流量的方法,包括接收速率、發(fā)送速率、吞吐量和丟包率的計算,旨在提升網(wǎng)絡(luò)性能和穩(wěn)定性,通過實時監(jiān)控并根據(jù)結(jié)果進(jìn)行調(diào)整,確保網(wǎng)絡(luò)高效運行,希望對大家有所幫助
    2026-04-04
  • Python 防止死鎖的方法

    Python 防止死鎖的方法

    這篇文章主要介紹了Python 防止死鎖的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 基于PyQt5制作一個表情包下載器

    基于PyQt5制作一個表情包下載器

    每次和朋友聊天苦于沒有表情包,而別人的表情包似乎是取之不盡、用之不竭。作為一個程序員哪能甘愿認(rèn)輸,所以本文將用Python制作一個表情包下載器供大家斗圖,需要的可以參考一下
    2022-03-03
  • Python面向?qū)ο箢惥帉懠?xì)節(jié)分析【類,方法,繼承,超類,接口等】

    Python面向?qū)ο箢惥帉懠?xì)節(jié)分析【類,方法,繼承,超類,接口等】

    這篇文章主要介紹了Python面向?qū)ο箢惥帉懠?xì)節(jié),較為詳細(xì)的分析了Python面向?qū)ο蟪绦蛟O(shè)計中類,方法,繼承,超類,接口等相關(guān)概念、使用技巧與注意事項,需要的朋友可以參考下
    2019-01-01
  • Python實現(xiàn)控制PDF頁面大小、頁邊距、頁面方向與縮放

    Python實現(xiàn)控制PDF頁面大小、頁邊距、頁面方向與縮放

    本文將詳細(xì)介紹如何使用 Python,通過 Spire.PDF for Python 庫調(diào)整 PDF 的各種頁面設(shè)置,包括自定義尺寸、頁邊距、紙張方向以及內(nèi)容畫布的移動與縮放,幫助你通過自動化腳本快速創(chuàng)建符合不同要求的 PDF 文檔,省去手動操作的繁瑣與時間
    2026-04-04
  • Python pickle類庫介紹(對象序列化和反序列化)

    Python pickle類庫介紹(對象序列化和反序列化)

    這篇文章主要介紹了Python pickle類庫介紹(對象序列化和反序列化),本文講解了pickle庫的作用、pickle的運行過程、使用實例、修改picklable類型的默認(rèn)行為等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • 一文分享20個必學(xué)的Excel表格操作Python腳本

    一文分享20個必學(xué)的Excel表格操作Python腳本

    這篇文章主要為大家詳細(xì)介紹了20個必學(xué)的Excel表格操作Python腳本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-11-11
  • python神經(jīng)網(wǎng)絡(luò)之批量學(xué)習(xí)tf.train.batch函數(shù)示例

    python神經(jīng)網(wǎng)絡(luò)之批量學(xué)習(xí)tf.train.batch函數(shù)示例

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)之批量學(xué)習(xí)tf.train.batch函數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評論

宝清县| 延寿县| 安义县| 镇安县| 高唐县| 江山市| 花垣县| 平原县| 苏州市| 龙岩市| 六安市| 东乡县| 分宜县| 吉安市| 怀远县| 阿尔山市| 安泽县| 中江县| 福清市| 城步| 蒲城县| 那曲县| 咸丰县| 垣曲县| 阳朔县| 固安县| 白水县| 桦南县| 洛浦县| 丹阳市| 德令哈市| 宜丰县| 宜川县| 安国市| 武定县| 唐河县| 扶风县| 东平县| 纳雍县| 临沂市| 安龙县|