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

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

簡介

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

下載安裝

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

  • 安裝穩定版本
pip install easyocr
  • 安裝最新版本
pip install git+git://github.com/jaidedai/easyocr.git

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

另外,開發者還提供了docker文件,詳見:https://github.com/JaidedAI/E...ide

簡單使用

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

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

其中 chinese.jpg 爲spa

輸出爲列表格式,每一個項目分別表明邊界框、文本和自信級別:命令行

[([[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簡化輸出:code

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 就簡單介紹到這裏了,感興趣的朋友能夠到項目主頁瞭解更多詳情。

開源前哨 平常分享熱門、有趣和實用的開源項目。參與維護 10萬+ Star 的開源技術資源庫,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。
相關文章
相關標籤/搜索