1 萬 Star !這個 Python OCR 神器能輕鬆識別 80 多種語言!

2021-03-02 Python開發者

【導語】:EasyOCR 是一個用 Python 編寫的 OCR 庫,用於識別圖像中的文字並輸出為文本,支持 80 多種語言。

簡介

EasyOCR 是 python 中一個不錯的 OCR 庫,在GitHub已有 10.3K star。目前支持80多種語言,包括中文、日文、韓文和泰文等。

下載安裝
項目地址:https://github.com/JaidedAI/EasyOCR教程地址:https://www.jaided.ai/easyocr/tutorialAPI文檔:https://www.jaided.ai/easyocr/documentation

EasyOCR安裝方法很簡單,直接使用pip安裝,有以下兩種安裝命令:

pip install easyocr

pip install git+git://github.com/jaidedai/easyocr.git


需要注意的是,如果在Windows下安裝,需要先安裝 torch 和 torchvision(安裝方法詳見官方網址 https://pytorch.org)。在 pytorch 網站上,一定要選擇正確的CUDA版本。如果只想在CPU模式下運行,請選擇 CUDA = None。

另外,開發者還提供了docker文件,詳見:https://github.com/JaidedAI/EasyOCR/blob/master/Dockerfile

簡單使用

安裝好環境後,使用以下命令進行體驗圖片識別:

import easyocr
# 創建reader對象,指定語言為簡寫中文
# 該命令只需要運行一次就可以將model加載到內存中
reader = easyocr.Reader(['ch_sim','en'])
# 讀取圖像
result = reader.readtext('chinese.jpg')

其中 chinese.jpg 為

輸出為列表格式,每個項目分別代表邊界框、文本和自信級別:

[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚園路', 0.3754989504814148),
 ([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
 ([[517, 81], [565, 81], [565, 123], [517, 123]], '東', 0.9989598989486694),
 ([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
 ([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631),
 ([[226, 170], [414, 170], [414, 220], [226, 220]], 'Yuyuan Rd.', 0.8261902332305908),
 ([[79, 173], [125, 173], [125, 213], [79, 213]], 'W', 0.9848111271858215),
 ([[529, 173], [569, 173], [569, 213], [529, 213]], 'E', 0.8405593633651733)]

可以通過使用detail = 0簡化輸出:

reader.readtext('chinese.jpg', detail = 0)

輸出結果如下:

['愚園路', '西', '東', '315', '309', 'Yuyuan Rd.', 'W', 'E']

如果沒有GPU或者GPU內存不足,可以通過添加GPU = False在CPU模式下運行:

reader = easyocr.Reader(['ch_sim','en'], gpu = False)

另外,也可以通過命令行使用如下:

$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True

快速體驗

不想在本地安裝環境的朋友可以在開發者提供的colab地址上體驗:https://colab.fan/easyocr


小秋在colab上嘗試了幾張圖,效果如下:

識別結果:

[([[142, 232], [500, 232], [500, 361], [142, 361]],
  'เส้นทางลัด',
  0.10795291513204575),
 ([[177, 483], [385, 483], [385, 573], [177, 573]],
  'เพชรบุรี',
  0.5405621528625488)]

識別結果:

[([[71, 49], [489, 49], [489, 159], [71, 159]], 'ポ<捨て禁止!', 0.6339455246925354),
 ([[95, 149], [461, 149], [461, 235], [95, 235]],
  'NOLITTER',
  0.32494133710861206),
 ([[80, 232], [475, 232], [475, 288], [80, 288]],
  '清潔できれいな港區を',
  0.9784266948699951),
 ([[109, 289], [437, 289], [437, 333], [109, 333]],
  '港 區 MINATO CITY',
  0.18789240717887878)]

識別結果

[([[129, 79], [292, 79], [292, 183], [129, 183]], '서울', 0.9718754291534424),
 ([[368, 101], [531, 101], [531, 201], [368, 201]], '평양', 0.9701955914497375),
 ([[159, 176], [258, 176], [258, 232], [159, 232]],
  'Seoul',
  0.8239477872848511),
 ([[342, 189], [539, 189], [539, 262], [342, 262]],
  'Pyeongyang',
  0.3527982532978058),
 ([[186, 276], [289, 276], [289, 333], [186, 333]],
  '56Km',
  0.6299729943275452),
 ([[344, 288], [461, 288], [461, 344], [344, 344]],
  '205Km',
  0.38107678294181824)]

結語

EasyOCR 就簡單介紹到這裡了,感興趣的朋友可以到項目主頁了解更多詳情。


相關焦點

  • 1 萬 Star !這個 OCR 神器能輕鬆識別 80 多種語言!
    來源丨小秋來源丨經授權轉自公眾號 開源前哨(ID:osfront)【導語】:EasyOCR 是一個用 Python 編寫的 OCR 庫,用於識別圖像中的文字並輸出為文本,支持 80 多種語言。簡介EasyOCR 是 python 中一個不錯的 OCR 庫,在GitHub已有 10.3K star。目前支持80多種語言,包括中文、日文、韓文和泰文等。
  • 輕鬆識別文字,這款Python OCR庫支持超過80種語言
    關於EasyOCRPython中有一個不錯的OCR庫-EasyOCR,在GitHub已有9700star。它可以在python中調用,用來識別圖像中的文字,並輸出為文本。EasyOCR支持超過80種語言的識別,包括英語、中文(簡繁)、阿拉伯文、日文等,並且該庫在不斷更新中,未來會支持更多的語言。
  • 輕鬆識別文字,這款 Python OCR 庫支持超過 80 種語言
    關於EasyOCRPython中有一個不錯的OCR庫-EasyOCR,在GitHub已有9700star。它可以在python中調用,用來識別圖像中的文字,並輸出為文本。EasyOCR支持超過80種語言的識別,包括英語、中文(簡繁)、阿拉伯文、日文等,並且該庫在不斷更新中,未來會支持更多的語言。
  • 通過Python寫一個OCR圖片識別小程序
    現在很多軟體都收費,所以本篇文章分享一個案例,如何通過Python寫一個ocr圖片識別小程序。本例中的程序十分簡單,流程如下:本例僅僅實現了基礎功能,還可以開發一個界面上傳圖片,或增加翻譯等功能。本例用到了百度的OCR識別,可以到百度雲中免費註冊,每天可以免費識別5萬次,足夠日常使用。
  • 用Python進行圖文識別(OCR)
    它可以通過訓練識別出任何字體(只要這些字體的風格保持不變就可以),也可以識別出任何Unicode 字符。Tesseract的安裝與使用  Tesseract的Windows安裝包下載地址為:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下載後雙擊直接安裝即可。
  • python爬蟲實戰-爬取微信公眾號所有歷史文章 - (03) python結合tesseract-ocr做圖文識別
    這篇文章我們講講對一副圖片的特定區域做截取,並利用開源庫做圖紋識別。要實現這個步驟的原因是,最初想實現爬取微信公眾號歷史文章這個功能時,一番沒有抓包爬蟲經驗,於是為了獲取歷史文章的標題用於pdf列印時的命名,一番想到截圖後對圖片做圖文識別,然後點擊文章標題,進入到文章閱讀界面然後結合目標圖片識別「複製連結」來獲取到文章的連結。
  • 截屏、文字提取一氣呵成,超實用OCR開源小工具
    機器之心報導機器之心編輯部這個文本 OCR 小工具,能讓你「所截即所得」。在我們辦公時,是不是經常遇到圖片內容轉文字的需求?你是用什麼工具解決的呢?是手機自帶拍照轉文字功能?還是使用 QQ 裡面的工具?
  • 手把手教你用PaddleOCR與PyQT實現多語言文字識別的程序
    小張想著這個工具還有點作用啊,自己要好好研究一下。他了解到這屬於OCR文字識別技術,OCR實現了對圖片中的文字進行提取、識別。/inference/det_db/ch_ppocr_server_v1.1_det_infer/」日語、英語、韓語、漢語、漢語高精度、法語、德語的識別模型:self.rec_model_dir = "./inference/rec_crnn/japan_ppocr_mobile_v1.1_rec_infer/"self.rec_model_dir = ".
  • 你們要的快準狠的漢王PDF OCR光學識別神器-它來了
    漢王pdf ocr8.1簡體中文版是來自北京漢王科技開發的一款優秀的專業orc文字識別軟體,擁有所見即所得的版面還原功能
  • Halcon OCR識別
    OCR主要步驟1. 圖像預處理對原始圖像進行灰度化,二值化,模板匹配,降噪,增強等!2.目標區域分割(ROI)對預處理後的圖像進行ROI提取,分割出單個字符組成的區域3.字符識別,即模式識別技術4.結果處理將識別完的文字按特定的次序和規則組合輸出!
  • 【收藏】圖片轉成文字的方法總結,python批量圖片轉文字信息參考源碼
    方法一:EasyOCR庫Python中有一個不錯的OCR庫-EasyOCR,在GitHub已有9700star。它可以在python中調用,用來識別圖像中的文字,並輸出為文本。EasyOCR支持超過80種語言的識別,包括英語、中文(簡繁)、阿拉伯文、日文等,並且該庫在不斷更新中,未來會支持更多的語言。
  • 關於easyocr、paddleocr、cnocr之比較
    cnocr自帶了訓練好的識別模型,安裝後即可直接使用。cnocr主要針對的是排版簡單的印刷體文字圖片,如截圖圖片,掃描件等。cnocr目前內置的文字檢測和分行模塊無法處理複雜的文字排版定位。如果要用於場景文字圖片的識別,需要結合其他的場景文字檢測引擎使用。EasyOCR 是一個使用 Java 語言實現的 OCR 識別引擎(基於Tesseract)。
  • OCR(字符識別)軟體
    1 前言而由於技術門檻相當的高,能做中文OCR識別的公司並不多,所以那些獨立開發者開發的OCR軟體,一般都是借用大公司的API接口。(比如好評如潮的「白描」,使用的其實是百度的OCR接口),所以這種時候認準大公司、老牌公司一般沒錯。本文參考了多篇網上的評測,和別人的使用感想,阿虛也對大部分進行了實際測試。
  • GitHub 熱榜:文字識別神器,超輕量級中文 OCR!一個超級厲害的開源庫
    近期,這個叫做 chineseocr_lite 的 OCR 項目開源了,這是一個超輕量級中文 ocr,支持豎排文字識別,支持 ncnn 推理,psenet (8.5M) + crnn (6.3M) + anglenet (1.5M) 總模型僅 17M。目前,這個開源項目已在 GitHub 上標星 2400+。
  • 一個使用 OCR 技術簡化 D1 樹木生長調查的設想
    藉助OCR 技術,如果我們能將一些必要信息直接在樹木上掛牌(當然這是流行做法),然後拍照將其上面的信息讀取,那麼能減少很多數據輸入工作。這裡嘗試使用 python 比較流行的一個 easyocr 庫來嘗試實現。聲明:我沒有試過真實場景,僅僅探索其可能性,因為我上一次搞調查還是十幾年前了。沒照片,沒數據,沒測試真實情況,但想來應該不難,至少是部分實現起來不難。
  • 小叮噹Python人工智慧篇:一句代碼搞定圖文識別!
    在前幾篇文章「小叮噹Python人工智慧篇:圖文識別tesseract4.0引擎的安裝」、「小叮噹Python人工智慧篇:tesseract4.0引擎語言包的配置!」中已為大家介紹了如何安裝下載圖文識別開源引擎以及所需的安裝包的配置。在tesseract4.0引擎及語言包已配置好的前提下,我們就用一句代碼通過python來實現人工智慧中的圖文識別。
  • 01 | 圖形驗證碼的識別
    1. 本節目標以知網為例,我將教你們使用 OCR 技術識別圖形驗證碼的兩種方法。準備工作識別圖形驗證碼需要的第三方庫:tesserocr  和 Pillow 和一個依賴以及語言包。下面中  1   步安裝時間較久,可以先暫時跳過不安裝,直接 pip 命令安裝。如果出現的問題和下面提到的問題,可以直接使用下面提到的解決方法操作,實在不行。再安裝這個 OCR 軟體。
  • OCR多彩世界
    漢王OCR支持處理灰度、彩色、黑白三種色彩的BMP、TIF、JPG、PDF多種格式的圖像文件;具有簡單易用的表格識別功能;具有TXT、RTF、HTM和XLS多種輸出格式,並有所見即所得的版面還原功能。使用特點:僅支持簡體、繁體和英文三種語言,同時格式相對比較受限制。
  • 介紹一個Python 包,幾行代碼可實現 OCR 文本識別!
    文字 OCR 識別技術現在已經相當成熟了,無論 其 準確度還是識別速度 都能夠滿足我們的日常需要;今天給大家介紹一個 Python 包,該包的主要功能就是用於 OCR 識別的,包的名字叫 Pyteeseract,藉助這個包幾行代碼就能快速識別一張文本圖片Pytesseract 包是由 開源工具
  • Tesseract-OCR本文結構與旋轉分析,識別字符白名單配置
    之前一篇介紹了Tesseract-OCR安裝與測試,已經對中文字符的識別支持。大家反饋比較多,所以決定在寫一篇,主要是介紹用它做項目時候需要注意的問題與一些比較重要的函數使用。主要介紹一下Tesseract-OCR中如何實現結構化的文檔分析以及相關區域的定位識別。