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

四個(gè)Python常用OCR庫(kù)的用法詳解

 更新時(shí)間:2023年09月11日 08:56:13   作者:Python數(shù)據(jù)開發(fā)  
在接口自動(dòng)化工作中,經(jīng)常需要處理文字識(shí)別的任務(wù),而OCR庫(kù)能夠幫助我們將圖像中的文字提取出來(lái),所以本文為大家整理了四個(gè)常用的OCR庫(kù)以及它們的用法,需要的可以參考下

在接口自動(dòng)化工作中,經(jīng)常需要處理文字識(shí)別的任務(wù),而OCR(Optical Character Recognition,光學(xué)字符識(shí)別)庫(kù)能夠幫助我們將圖像中的文字提取出來(lái)。Python中有幾個(gè)常用的OCR庫(kù),包括pyocr、pytesseract和python- tesseract、EasyOCR。

本文將對(duì)它們進(jìn)行比較,并提供一些示例代碼來(lái)演示它們?cè)趯?shí)際接口自動(dòng)化工作中的應(yīng)用。

1、pyocr

PyOCR是一個(gè)Python庫(kù),提供了對(duì)多個(gè)OCR引擎的封裝。它可以方便地在Python中使用不同的OCR引擎進(jìn)行文本識(shí)別。

PyOCR支持以下OCR引擎:

  • Tesseract:Tesseract是一個(gè)開源的OCR引擎,由Google開發(fā)。它支持多種語(yǔ)言,并且在OCR準(zhǔn)確性方面表現(xiàn)良好。
  • Cuneiform:Cuneiform是一個(gè)開源的OCR引擎,支持多種語(yǔ)言和字體。
  • GOCR:GOCR是一個(gè)開源的OCR引擎,主要用于識(shí)別簡(jiǎn)單的文本和數(shù)字。

適用場(chǎng)景:

  • 文字識(shí)別和提?。河糜趯⒂∷Ⅲw文字從圖像中提取出來(lái),以便進(jìn)行文本處理、搜索和分析。
  • 文檔掃描和轉(zhuǎn)換:用于將掃描的紙質(zhì)文檔轉(zhuǎn)換為可編輯的電子文檔。
  • 自動(dòng)化數(shù)據(jù)錄入:用于將圖像中的數(shù)據(jù)轉(zhuǎn)換為計(jì)算機(jī)可讀的格式,以便進(jìn)行數(shù)據(jù)處理和分析。
  • 圖像標(biāo)注和分類:用于從圖像中提取文本信息,以便對(duì)圖像進(jìn)行標(biāo)注和分類。

使用PyOCR進(jìn)行文本識(shí)別的步驟如下:

  • 安裝PyOCR庫(kù)和相應(yīng)的OCR引擎:pip install pyocr
  • 導(dǎo)入PyOCR庫(kù)和所需的OCR引擎。
  • 初始化OCR引擎。
  • 打開圖像文件或者將圖像轉(zhuǎn)換為PIL圖像對(duì)象。
  • 使用OCR引擎的image_to_string方法進(jìn)行文本識(shí)別。

示例:以下是一個(gè)使用Tesseract庫(kù)進(jìn)行文字識(shí)別的示例:

import pyocr
import pyocr.builders
from PIL import Image
# 初始化OCR引擎
tools = pyocr.get_available_tools()
if len(tools) == 0:
    print("No OCR tool found")
    exit(1)
ocr_tool = tools[0]
# 打開圖像文件
image = Image.open('image.jpg')
# 使用OCR引擎進(jìn)行文本識(shí)別
text = ocr_tool.image_to_string(
    image,
    lang='eng',
    builder=pyocr.builders.TextBuilder()
)
# 打印識(shí)別結(jié)果
print(text)

在這個(gè)示例中,首先使用pyocr.get_available_tools()獲取可用的OCR引擎列表,然后選擇第一個(gè)可用的引擎進(jìn)行初始化。接著使用PIL庫(kù)打開圖像文件,然后使用OCR引擎的image_to_string方法進(jìn)行文本識(shí)別,同時(shí)指定識(shí)別語(yǔ)言和文本構(gòu)建器。最后打印識(shí)別結(jié)果。

2、pytesseract

pytesseract是一個(gè)Python庫(kù),它提供了對(duì)Tesseract OCR引擎的封裝。Tesseract是一個(gè)開源的OCR引擎,由Google開發(fā)。pytesseract可以方便地在Python中使用Tesseract進(jìn)行文本識(shí)別。

pytesseract具有以下特點(diǎn):

  • 支持多種語(yǔ)言:pytesseract可以識(shí)別多種語(yǔ)言的文字,包括英語(yǔ)、中文、日語(yǔ)等。
  • 支持多種圖像格式:pytesseract可以處理多種常見的圖像格式,如JPEG、PNG、TIFF等。
  • 簡(jiǎn)單易用:pytesseract提供了一個(gè)簡(jiǎn)單的API,只需幾行代碼即可完成文本識(shí)別。

使用pytesseract進(jìn)行文本識(shí)別的步驟如下:

  • 安裝pytesseract庫(kù)和Tesseract OCR引擎。
  • 導(dǎo)入pytesseract庫(kù)。
  • 打開圖像文件或者將圖像轉(zhuǎn)換為PIL圖像對(duì)象。
  • 使用pytesseract庫(kù)的image_to_string方法進(jìn)行文本識(shí)別。

以下是一個(gè)使用pytesseract進(jìn)行文本識(shí)別的示例:

import pytesseract
from PIL import Image
# 打開圖像文件
image = Image.open('image.jpg')
# 使用pytesseract進(jìn)行文本識(shí)別
text = pytesseract.image_to_string(image)
# 打印識(shí)別結(jié)果
print(text)

在這個(gè)示例中,首先使用PIL庫(kù)打開圖像文件,然后使用pytesseract庫(kù)的image_to_string方法將圖像中的文字識(shí)別為文本,最后打印識(shí)別結(jié)果。

需要注意的是,使用pytesseract進(jìn)行文本識(shí)別前,需要確保已經(jīng)正確安裝了Tesseract OCR引擎,并將其配置為系統(tǒng)環(huán)境變量之一。這樣pytesseract才能找到并使用Tesseract引擎進(jìn)行識(shí)別。

3、python-tesseract

python-tesseract是一個(gè)Python庫(kù),它提供了對(duì)Tesseract OCR引擎的封裝。Tesseract是一個(gè)開源的OCR引擎,由Google開發(fā)。python-tesseract庫(kù)可以方便地在Python中使用Tesseract進(jìn)行文本識(shí)別。

python-tesseract具有以下特點(diǎn):

  • 支持多種語(yǔ)言:python-tesseract可以識(shí)別多種語(yǔ)言的文字,包括英語(yǔ)、中文、日語(yǔ)等。
  • 支持多種圖像格式:python-tesseract可以處理多種常見的圖像格式,如JPEG、PNG、TIFF等。
  • 簡(jiǎn)單易用:python-tesseract提供了一個(gè)簡(jiǎn)單的API,只需幾行代碼即可完成文本識(shí)別。

使用python-tesseract進(jìn)行文本識(shí)別的步驟如下:

  • 安裝python-tesseract庫(kù)和Tesseract OCR引擎。
  • 導(dǎo)入python-tesseract庫(kù)。
  • 打開圖像文件或者將圖像轉(zhuǎn)換為PIL圖像對(duì)象。
  • 使用python-tesseract庫(kù)的image_to_string方法進(jìn)行文本識(shí)別。

以下是一個(gè)使用python-tesseract進(jìn)行文本識(shí)別的示例:

import pytesseract
from PIL import Image
# 打開圖像文件
image = Image.open('image.jpg')
# 使用pytesseract進(jìn)行文本識(shí)別
text = pytesseract.image_to_string(image)
# 打印識(shí)別結(jié)果
print(text)

在這個(gè)示例中,首先使用PIL庫(kù)打開圖像文件,然后使用python-tesseract庫(kù)的image_to_string方法將圖像中的文字識(shí)別為文本,最后打印識(shí)別結(jié)果。

需要注意的是,使用python-tesseract進(jìn)行文本識(shí)別前,需要確保已經(jīng)正確安裝了Tesseract OCR引擎,并將其配置為系統(tǒng)環(huán)境變量之一。這樣python-tesseract才能找到并使用Tesseract引擎進(jìn)行識(shí)別。

以下是一個(gè)更為復(fù)雜的例子,展示了如何使用python-tesseract進(jìn)行文本識(shí)別,并對(duì)識(shí)別結(jié)果進(jìn)行一些后處理:

import pytesseract
from PIL import Image
import re
# 打開圖像文件
image = Image.open('image.jpg')
# 使用python-tesseract進(jìn)行文本識(shí)別
text = pytesseract.image_to_string(image)
# 去除識(shí)別結(jié)果中的非法字符
cleaned_text = re.sub(r'[^a-zA-Z0-9\s]', '', text)
# 將識(shí)別結(jié)果按行分割成列表
lines = cleaned_text.split('\n')
# 去除空行
lines = [line.strip() for line in lines if line.strip()]
# 打印識(shí)別結(jié)果
for line in lines:
    print(line)

在這個(gè)例子中,我們首先使用PIL庫(kù)打開圖像文件,然后使用python-tesseract庫(kù)的image_to_string方法將圖像中的文字識(shí)別為文本。接下來(lái),我們使用正則表達(dá)式去除識(shí)別結(jié)果中的非法字符,只保留字母、數(shù)字和空格。然后,我們將識(shí)別結(jié)果按行分割成列表,并去除空行。最后,我們逐行打印識(shí)別結(jié)果。

這個(gè)例子展示了如何對(duì)識(shí)別結(jié)果進(jìn)行一些后處理操作,以獲得更干凈和可讀性更高的文本。根據(jù)實(shí)際需求,你可以根據(jù)需要進(jìn)行更多的后處理操作,如去除特定的字符、提取關(guān)鍵信息等。

4、EasyOCR

EasyOCR是一個(gè)功能強(qiáng)大且開源、易于使用的OCR庫(kù),適用于各種文字識(shí)別任務(wù),包括文檔掃描、圖像處理、自然語(yǔ)言處理等。它可以幫助開發(fā)者快速實(shí)現(xiàn)文字識(shí)別功能,并應(yīng)用于各種應(yīng)用領(lǐng)域。與其他OCR庫(kù)相比,EasyOCR具有以下特點(diǎn):

  • 多語(yǔ)言支持:EasyOCR支持超過(guò)80種語(yǔ)言的文字識(shí)別,包括中文、英文、日文、韓文等。它可以處理多種語(yǔ)言混合的文本,適用于全球范圍的應(yīng)用。
  • 高精度識(shí)別:EasyOCR使用了深度學(xué)習(xí)模型和先進(jìn)的OCR技術(shù),能夠提供高精度的文字識(shí)別結(jié)果。它在多個(gè)公開數(shù)據(jù)集上進(jìn)行了訓(xùn)練和測(cè)試,具有較高的準(zhǔn)確率和魯棒性。
  • 簡(jiǎn)單易用:EasyOCR提供了一個(gè)簡(jiǎn)單的API,使得文字識(shí)別變得容易。只需幾行代碼,即可將圖像中的文字轉(zhuǎn)換為可用的文本。
  • 跨平臺(tái)支持:EasyOCR可以在多個(gè)平臺(tái)上運(yùn)行,包括Windows、Linux和Mac OS。它支持Python和命令行界面,可以與其他編程語(yǔ)言和工具集成。

使用EasyOCR進(jìn)行文字識(shí)別的步驟如下:

  • 安裝EasyOCR庫(kù):可以使用pip命令安裝EasyOCR庫(kù),例如pip install easyocr。
  • 導(dǎo)入EasyOCR庫(kù):在Python代碼中導(dǎo)入EasyOCR庫(kù),例如import easyocr。
  • 創(chuàng)建OCR對(duì)象:創(chuàng)建一個(gè)OCR對(duì)象,例如reader = easyocr.Reader(['en', 'zh']),指定要識(shí)別的語(yǔ)言。
  • 識(shí)別文字:使用OCR對(duì)象的readtext方法對(duì)圖像中的文字進(jìn)行識(shí)別,例如result = reader.readtext('image.jpg')。
  • 處理識(shí)別結(jié)果:根據(jù)需要處理識(shí)別結(jié)果,例如提取文字內(nèi)容、位置和置信度等。

以下是一個(gè)使用EasyOCR進(jìn)行文字識(shí)別的簡(jiǎn)單示例:

import easyocr
# 創(chuàng)建OCR對(duì)象
reader = easyocr.Reader(['en', 'zh'])
# 識(shí)別文字
result = reader.readtext('image.jpg')
# 處理識(shí)別結(jié)果
for (text, bbox, confidence) in result:
    print(f'Text: {text}, Bbox: {bbox}, Confidence: {confidence}')

在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)OCR對(duì)象,指定了要識(shí)別的語(yǔ)言為英文和中文。然后,我們使用OCR對(duì)象的readtext方法對(duì)圖像文件進(jìn)行文字識(shí)別,返回一個(gè)包含識(shí)別結(jié)果的列表。最后,我們遍歷識(shí)別結(jié)果,打印每個(gè)文字的內(nèi)容、位置和置信度。

5、小結(jié)

本文介紹了Python中幾個(gè)常用的OCR庫(kù),并提供了相應(yīng)的代碼示例。這些庫(kù)都可以幫助我們?cè)诮涌谧詣?dòng)化工作中進(jìn)行文字識(shí)別,從而實(shí)現(xiàn)更多的自動(dòng)化功能和任務(wù)。根據(jù)實(shí)際需求,您可以選擇適合自己的OCR庫(kù),并結(jié)合其他工具和技術(shù)來(lái)完成更復(fù)雜的接口自動(dòng)化工作。

以上就是四個(gè)Python常用OCR庫(kù)的用法詳解的詳細(xì)內(nèi)容,更多關(guān)于Python OCR庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 盤點(diǎn)Python?爬蟲中的常見加密算法

    盤點(diǎn)Python?爬蟲中的常見加密算法

    這篇文章主要介紹了盤點(diǎn)Python?爬蟲中的常見加密算法,加密即Encryption指將明文數(shù)據(jù)變換為密文的過(guò)程,解密即Decryption指加密的逆過(guò)程,即由密文恢復(fù)出原明文的過(guò)程
    2022-07-07
  • Python Jupyter Notebook顯示行數(shù)問(wèn)題的解決

    Python Jupyter Notebook顯示行數(shù)問(wèn)題的解決

    這篇文章主要介紹了Python Jupyter Notebook顯示行數(shù)問(wèn)題的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 如何利用python實(shí)現(xiàn)圖片批處理

    如何利用python實(shí)現(xiàn)圖片批處理

    這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)圖片批處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python爬蟲XPath解析出亂碼的問(wèn)題及解決

    Python爬蟲XPath解析出亂碼的問(wèn)題及解決

    這篇文章主要介紹了Python爬蟲XPath解析出亂碼的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Python的多維空數(shù)組賦值方法

    Python的多維空數(shù)組賦值方法

    下面小編就為大家分享一篇Python的多維空數(shù)組賦值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 實(shí)例解析Python中的__new__特殊方法

    實(shí)例解析Python中的__new__特殊方法

    __new__方法在Python中用于被創(chuàng)建類實(shí)例,接下來(lái)我們以實(shí)例解析Python中的__new__特殊方法,注意一下__new__與__init__方法的區(qū)別
    2016-06-06
  • 淺析如何在Python中使用結(jié)構(gòu)模式匹配

    淺析如何在Python中使用結(jié)構(gòu)模式匹配

    在Python 3.10中引入了模式匹配語(yǔ)法,允許我們?cè)趹?yīng)用程序中使用強(qiáng)大的新編程技術(shù)進(jìn)行決策,下面我們就來(lái)講講如何在Python中使用結(jié)構(gòu)模式匹配吧
    2023-08-08
  • Python中的None與 NULL(即空字符)的區(qū)別詳解

    Python中的None與 NULL(即空字符)的區(qū)別詳解

    這篇文章主要介紹了Python中的None與 NULL(即空字符)的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 9個(gè)提高?Python?編程的小技巧

    9個(gè)提高?Python?編程的小技巧

    這篇文章主要介紹了9個(gè)提高?Python?編程的小技巧,下文分享python編程技巧,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-05-05
  • kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法

    kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法

    這篇文章主要介紹了kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法,詳細(xì)講述了kNN算法的優(yōu)缺點(diǎn)及原理,并給出了應(yīng)用實(shí)例,需要的朋友可以參考下
    2014-11-11

最新評(píng)論

灵石县| 清丰县| 广元市| 邵阳县| 邹城市| 汪清县| 米易县| 苗栗县| 定州市| 濮阳县| 郴州市| 崇仁县| 西畴县| 合阳县| 贵港市| 信阳市| 宣汉县| 韩城市| 安溪县| 洞头县| 叶城县| 德格县| 崇文区| 平遥县| 敦煌市| 嵊泗县| 房山区| 康定县| 贞丰县| 罗甸县| 响水县| 景东| 维西| 通山县| 马公市| 灵宝市| 马鞍山市| 乌拉特前旗| 博客| 嘉峪关市| 凤山县|