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

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

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

OCR實戰(zhàn)教程

汽車電子技術(shù) ? 來源:Python實用寶典 ? 作者:Ckend ? 2023-02-24 10:36 ? 次閱讀

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

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

1.準備

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

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

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

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

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

(選擇一)安裝 cnocr:

pip install cnocr

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

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

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

(選擇二)安裝 pytesseract:

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

pip install pytesseract

其次,還需要安裝Tesseract.

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

brew install tesseract

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

(Windows )**** 安裝Tesseract

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

你可以在Python實用寶典公眾號后臺回復:**tesseract **打包下載。

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

圖片

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

2.cnocr 識別圖片的中文

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

盡管它分別提供了單行識別函數(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維護的開源OCR引擎。

Tesseract-OCR 可擴展性很強,你可以基于它訓練屬于自己的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即可,不過相信我,效果不忍直視。

我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。

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

    關(guān)注

    2

    文章

    1075

    瀏覽量

    40266
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    230

    瀏覽量

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

    關(guān)注

    0

    文章

    141

    瀏覽量

    16261
收藏 人收藏

    評論

    相關(guān)推薦

    OCR求助

    OCR中的*.abc文件是怎么創(chuàng)建并寫入內(nèi)容的
    發(fā)表于 07-01 11:23

    OCR微信公眾號實現(xiàn)一號識別

    微信公眾賬號試水商業(yè)化的消息近日引爆自媒體圈。廈門云脈公司把多年對OCR各種產(chǎn)品的研究成果集成于云脈OCR微信公眾號中。云脈OCR公眾號是首個OCR技術(shù)識別類微信公眾服務(wù)號,集成了名片
    發(fā)表于 09-09 18:11

    OCR SDK開發(fā)者平臺推薦:OCR圖像智能字符識別技術(shù)

    為了促進業(yè)內(nèi)生態(tài)環(huán)境良好發(fā)展,幫助開發(fā)者更好的專注于自己的產(chǎn)品。想讓產(chǎn)品實現(xiàn)OCR圖像智能字符識別技術(shù),看此帖!樓主吐血為大家找到一個集身份證識別,駕駛證識別,行駛證識別,銀行卡識別,文檔識別
    發(fā)表于 09-25 13:48

    linux的tesseract-ocr安裝

    1. 在ubuntu下可以自動安裝sudo apt-get install tesseract-ocr
    發(fā)表于 07-15 06:40

    阿里OCR接口記錄

    OCR調(diào)用文檔中需要傳入BASE64,感謝Apache
    發(fā)表于 08-08 07:48

    國外OCR的matlab程序

    國外OCR的matlab程序
    發(fā)表于 05-07 09:15

    嵌入式OCR技術(shù)是什么?

    嵌入式OCR技術(shù)是什么?
    發(fā)表于 12-27 06:44

    Python OCR 識別庫-ddddocr

    對他們徹底說拜拜,它的名字是 ddddocr 帶帶弟弟 OCR 通用驗證碼識別 SDK 免費開源版。 安裝將自動安裝符合自己電腦環(huán)境的最新 ddddocr。Python 環(huán)境需要小于等于 3.9
    發(fā)表于 03-30 17:26

    什么是OCR

    什么是OCR OCR的英文全稱: OCR是英文Optical Character Recognition的縮寫,意思是光學字符識別,也可簡單地稱為文字識別,是文字自動輸入的一種方法。它通過掃描和攝像
    發(fā)表于 04-10 12:55 ?6498次閱讀

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

    OCR在通用文字識別等場景下有廣泛應(yīng)用,基于FPGA異構(gòu)加速的OCR識別相比CPU/GPU實現(xiàn)具有延時小、成本低的優(yōu)勢。我們設(shè)計了多FPGA芯片協(xié)同的異構(gòu)加速架構(gòu),能快速適配業(yè)務(wù)OCR模型變化,檢測
    發(fā)表于 01-26 12:19 ?3909次閱讀

    OCR識別技術(shù)

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

    樹洞OCR文字識別跨平臺的OCR小工具

    ./oschina_soft/tools-ocr.zip
    發(fā)表于 05-30 09:42 ?5次下載
    樹洞<b class='flag-5'>OCR</b>文字識別跨平臺的<b class='flag-5'>OCR</b>小工具

    flutter_ocr Flutter開發(fā)的OCR軟件

    ./oschina_soft/flutter_ocr.zip
    發(fā)表于 06-24 14:43 ?3次下載
    flutter_<b class='flag-5'>ocr</b> Flutter開發(fā)的<b class='flag-5'>OCR</b>軟件

    easyocr:超級簡單且強大的OCR文本識別工具

    今天給大家介紹一個超級簡單且強大的OCR文本識別工具: easyocr . 這個模塊支持70多種語言的即用型OCR,包括中文,日文,韓文和泰文等。 下面是這個模塊的實戰(zhàn)教程。 1.準備 開始之前,你
    的頭像 發(fā)表于 10-30 09:30 ?2322次閱讀
    easyocr:超級簡單且強大的<b class='flag-5'>OCR</b>文本識別工具