0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OCR如何自動識別圖片文字

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-31 16:45 ? 次閱讀

OCR 是光學(xué)字符識別(英語:Optical Character Recognition,OCR)是指對文本資料的圖像文件進(jìn)行分析識別處理,獲取文字及版面信息的過程。

很早之前就有同學(xué)在公眾號后臺回復(fù)希望出一篇 OCR 相關(guān)的文章,今天嘗試了一下 cnocr 和 tesseract 兩個 Python 開源識別工具的效果,給大家分別講講兩個工具的使用方法和對比效果。

1.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細(xì)指南。

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

(選擇一)安裝 cnocr:

pip install cnocr

看到 Successfully installed xxx 則說明安裝成功。

如果你只想對圖片中的中文進(jìn)行識別,那么 cnocr 是一個不錯的選擇,你只需要安裝 cnocr 包即可。

但如果你想試試其他語言的OCR識別,Tesseract 是更好的選擇。

(選擇二)安裝 pytesseract:

首先,無論是Windows還是macOS,你都需要安裝 pytesseract:

pip install pytesseract

其次,還需要安裝Tesseract.

(macOS) Tesseract 在macOS下可以使用brew安裝:

brew install tesseract

非常方便,一條命令即可完成安裝。

(Windows )**** 安裝Tesseract

需要先下載安裝tesseract的程序,然后下載中文簡體字預(yù)訓(xùn)練好的模型包(盡管本教程不會用tesseract,但還是給大家提供了)。

下載完成后,將 tesseract-ocr-setup-4.00.00dev.exe 安裝到 Tesseract-OCR 指定目錄下,復(fù)制該目錄路徑增加到Path中:

圖片

并將訓(xùn)練好的模型文件 chi_sim.traineddata 放入該目錄中,這樣安裝就完成了。

2.cnocr 識別圖片的中文

cnocr 主要針對的是排版簡單的印刷體文字圖片,如截圖圖片,掃描件等。目前內(nèi)置的文字檢測和分行模塊無法處理復(fù)雜的文字排版定位。

盡管它分別提供了單行識別函數(shù)和多行識別函數(shù),但在本人實測下,單行識別函數(shù)的效果非常糟糕,或者說要求的條件十分苛刻,基本上連截圖的文字都識別不出來。

不過多行識別函數(shù)還不錯,使用該函數(shù)識別的代碼如下:

from cnocr import CnOcr
ocr = CnOcr()
res = ocr.ocr('test.png')
print("Predicted Chars:", res)

用于識別這個圖片里的文字:

圖片

效果如下:

圖片

如果不是很吹毛求疵,這樣的效果已經(jīng)很不錯了。

3.pytesseract 識別圖片的英文

如果你的OCR目的不是中文而是英文,是需要別的模型的。這里給大家分享Tesseract-OCR,它是一款由HP實驗室開發(fā),由Google維護(hù)的開源OCR引擎。

Tesseract-OCR 可擴(kuò)展性很強(qiáng),你可以基于它訓(xùn)練屬于自己的OCR模型。

現(xiàn)在給大家看看它分類英文的效果,代碼如下:

import pytesseract
from PIL import Image

image = Image.open('test.png')
code = pytesseract.image_to_string(image, lang='eng')
print(code)

識別的圖片:

圖片

效果如下:

圖片

Tesseract 識別英文的效果真的很不錯,中文效果就比較一般了。

如果你想試試Tesseract識別中文,只需要將代碼中的eng改為chi_sim即可,不過相信我,效果不忍直視。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    806

    瀏覽量

    31171
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1449

    瀏覽量

    34057
  • OCR
    OCR
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    16360
收藏 人收藏

    評論

    相關(guān)推薦

    OCR文字距離太近應(yīng)該如何處理?

    ;最近需要做一個OCR文字識別自動測試,之前基本沒有接觸過圖像處理的相關(guān)概念,對于純數(shù)學(xué)上的算法目前也只是大致在看。 我需要識別
    發(fā)表于 05-04 15:07

    說說利用vision assitant實現(xiàn)數(shù)字的自動識別。

    最近一周無聊試下vision assitant里面的OCR功能,因為之前做的一個機(jī)械零件編號檢測需要識別上面的數(shù)字。簡單介紹一下如何做到自動識別。1.查找范例OCR,里面有個
    發(fā)表于 03-18 10:39

    [求助] 關(guān)于OCR識別后文字定位的問題

    你好,我最近在用NI視覺助手做這么一個工作,自動識別一個字符并計算中心點到某一條已知線段的距離(即求點到直線的距離),我想請教一下,在OCR識別出字符后,給出的結(jié)果為:匹配分?jǐn)?shù),紅色框到綠色框左邊
    發(fā)表于 06-20 22:28

    圖片文字轉(zhuǎn)換成word真的只需要這四步

    了方法,就和添加文字一樣簡單了。 這里向大家推薦一款捷速OCR文字識別軟件。這是一款識別效果十分好的文字
    發(fā)表于 07-26 10:40

    首發(fā) | 告別手動錄入,開放平臺OCR上線印刷文字識別!

    識別中文、英文、中英文混合的文字內(nèi)容的識別。在中文人工智能助手咪咕靈犀的翻譯功能模塊,接入訊飛開放平臺的OCR與翻譯能力,提供圖片中文字
    發(fā)表于 05-17 15:18

    什么是OCR

    什么是OCR OCR的英文全稱: OCR是英文Optical Character Recognition的縮寫,意思是光學(xué)字符識別,也可簡單地稱為
    發(fā)表于 04-10 12:55 ?6744次閱讀

    TH-OCR文字識別系統(tǒng)介紹

    TH-OCR文字識別系統(tǒng)的工作原理為通過掃描儀或數(shù)碼相機(jī)等光學(xué)輸入設(shè)備獲取紙張上的文字圖片信息,OCR
    發(fā)表于 12-27 16:04 ?2132次閱讀

    基于FPGA的OCR文字識別技術(shù)的深度解析

    識別整體性能為GPU P4 130%,處理延時僅為P4的1/10,CPU的1/30。 1.文字識別技術(shù)- OCR OCR技術(shù),通俗來講就是從
    發(fā)表于 01-26 12:19 ?4011次閱讀

    如何在電腦中對圖片文字進(jìn)行局部識別

    ?? ? 步驟一、圖片文字局部識別需要使用到工具,這時候你可以打開電腦中的瀏覽器,搜索迅捷辦公找到迅捷OCR文字
    發(fā)表于 11-13 14:07 ?590次閱讀

    怎樣簡單識別圖片文字轉(zhuǎn)換到Word

      工作中我們經(jīng)常會處理到各種各樣的圖片文件,有時候還需要將圖片文件上的信息整理到Word一類的文檔中,這樣編輯起來就很方便,那怎樣簡單識別圖片文字
    發(fā)表于 03-27 13:50 ?885次閱讀

    OCR文字識別視覺檢測系統(tǒng)應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是OCR文字識別視覺檢測系統(tǒng)應(yīng)用程序免費下載。
    發(fā)表于 05-28 17:31 ?25次下載

    OCR識別技術(shù)

    在爬蟲對驗證碼進(jìn)行破解時,經(jīng)常需要對圖片中的文字內(nèi)容進(jìn)行識別,這時就需要用到OCR技術(shù)了,那么 OCR
    的頭像 發(fā)表于 03-12 09:07 ?4817次閱讀

    淺析HarmonyOS基于AI的通用文字識別技術(shù)

    在資訊大爆炸的時代,我們經(jīng)常面臨文件、圖片找不到的情況,HarmonyOS基于AI的通用文字識別技術(shù),可以有效幫助我們解決這些難題。 基于AI的通用文字
    的頭像 發(fā)表于 08-20 10:42 ?3174次閱讀

    圖片文字識別:揭開數(shù)字世界的神秘面紗

    隨著數(shù)字化時代的到來,我們生活中的大部分?jǐn)?shù)據(jù)都以圖片的形式存在。然而,這些圖片中蘊含的信息往往比文字更豐富,如何從這些圖片中提取有價值的信息,是數(shù)字世界中一個十分重要的問題。這時,
    的頭像 發(fā)表于 05-11 18:20 ?614次閱讀

    光學(xué)識別字符是自動識別技術(shù)嗎

    光學(xué)識別字符(Optical Character Recognition,簡稱OCR)是一種自動識別技術(shù),它能夠?qū)⒏鞣N類型文檔(如掃描的紙質(zhì)文檔、PDF文件或數(shù)字相機(jī)拍攝的圖片)中的
    的頭像 發(fā)表于 09-10 15:43 ?463次閱讀