Python如何使用EasyOCR工具識別圖像文本
什么是 EasyOCR ?
描述: EasyOCR 是一個用于從圖像中提取文本的 python 模塊, 它是一種通用的 OCR,既可以讀取自然場景文本,也可以讀取文檔中的密集文本。目前支持 80 多種語言和所有流行的書寫腳本,包括:拉丁文、中文、阿拉伯文、梵文、西里爾文等。
EasyOCR 是 PyTorch 實現(xiàn)的一個光學字符識別 (OCR) 工具。
Q: 使用 EasyOCR 可以干什么?
描述: EasyOCR 支持兩種方式運行一種是常用的CPU,而另外一種是需要GPU支持并且需安裝CUDA環(huán)境, 我們使用其可以進行圖片中語言文字識別, 例如小程序里圖片識別、車輛車牌識別(即車債管理系統(tǒng))。
安裝 EasyOCR
在命令窗口中,使用 pip 安裝 EasyOCR 穩(wěn)定版本。
pip install easyocr
使用 EasyOCR
import easyocr
reader = easyocr.Reader(
['ch_sim', 'en'],
gpu=False,
model_storage_directory='model/.',
user_network_directory='model/.',
)
result = reader.readtext('examples/chinese.jpg')執(zhí)行上面的代碼時,會自動通過網(wǎng)絡下載檢測與識別模型到指定目錄下。
- ['ch_sim', 'en'],: 指定識別的語言
- gpu=False,: 設置是否使用GPU (EasyOCR在GPU上運行效率更高, 沒有GPU或者GPU內存不足時設置False)
- model_storage_directory='model/.',: 檢測與識別模型的存儲路徑 (沒有設置時默認存儲在~/.EasyOCR/model目錄)
識別結果 result 是一個列表,列表中的每一項都是一個長度為 3 的識別結果,例如 ([[189, 75], [469, 75], [469, 165], [189, 165]], '愚園路', 0.3754989504814148),它們分別是 邊界框、檢測到的文本 和 置信度 值。
easyocr-server
EasyOCR 服務器是一個用于從圖像中提取文本。它是一種通用的 OCR,既可以讀取自然場景文本,也可以讀取文檔中的密集文本。目前支持 80+ 種語言,并且還在擴展。
安裝步驟
步驟 0. 從 GitHub 下載 easyocr-server 并安裝。
git clone https://github.com/hekaiyou/easyocr-server.git
步驟 1. 使用 PyPI 安裝 easyocr、 bottle 和 gevent 模塊。
cd easyocr-server pip install -r requirements.txt
驗證安裝
python main.py
- Browser: http://localhost:8080/ocr/
- CMD:
curl http://localhost:8080/ocr/ -F "language=en" -F "img_file=@examples/english.png"
驗證成功后,您應該能夠在瀏覽器中看到打印的推理結果。

通過 Docker 部署服務
我們提供了一個 Dockerfile 來構建鏡像。
docker build -t easyocr-server:latest .
運行它。
docker run -it -v {DATA_DIR}:/workspace/model -p 8083:8080 easyocr-server:latest| Language | Code Name |
|---|---|
| Abaza | abq |
| Adyghe | ady |
| Afrikaans | af |
| Angika | ang |
| Arabic | ar |
| Assamese | as |
| Avar | ava |
| Azerbaijani | az |
| Belarusian | be |
| Bulgarian | bg |
| Bihari | bh |
| Bhojpuri | bho |
| Bengali | bn |
| Bosnian | bs |
| Simplified Chinese | ch_sim |
| Traditional Chinese | ch_tra |
| Chechen | che |
| Czech | cs |
| Welsh | cy |
| Danish | da |
| Dargwa | dar |
| German | de |
| English | en |
| Spanish | es |
| Estonian | et |
| Persian (Farsi) | fa |
| French | fr |
| Irish | ga |
| Goan Konkani | gom |
| Hindi | hi |
| Croatian | hr |
| Hungarian | hu |
| Indonesian | id |
| Ingush | inh |
| Icelandic | is |
| Italian | it |
| Japanese | ja |
| Kabardian | kbd |
| Kannada | kn |
| Korean | ko |
| Kurdish | ku |
| Latin | la |
| Lak | lbe |
| Lezghian | lez |
| Lithuanian | lt |
| Latvian | lv |
| Magahi | mah |
| Maithili | mai |
| Maori | mi |
| Mongolian | mn |
| Marathi | mr |
| Malay | ms |
| Maltese | mt |
| Nepali | ne |
| Newari | new |
| Dutch | nl |
| Norwegian | no |
| Occitan | oc |
| Pali | pi |
| Polish | pl |
| Portuguese | pt |
| Romanian | ro |
| Russian | ru |
| Serbian (cyrillic) | rs_cyrillic |
| Serbian (latin) | rs_latin |
| Nagpuri | sck |
| Slovak | sk |
| Slovenian | sl |
| Albanian | sq |
| Swedish | sv |
| Swahili | sw |
| Tamil | ta |
| Tabassaran | tab |
| Telugu | te |
| Thai | th |
| Tajik | tjk |
| Tagalog | tl |
| Turkish | tr |
| Uyghur | ug |
| Ukranian | uk |
| Urdu | ur |
| Uzbek | uz |
| Vietnamese | vi |
上面 easyocr-server 項目的核心代碼在 GitHub: easyocr-server/ocr.py 中,可以按實際需求修改。
到此這篇關于Python如何使用EasyOCR工具識別圖像文本的文章就介紹到這了,更多相關Python EasyOCR識別圖像文本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python 詳解通過Scrapy框架實現(xiàn)爬取CSDN全站熱榜標題熱詞流程
Scrapy是用純Python實現(xiàn)一個為了爬取網(wǎng)站數(shù)據(jù)、提取結構性數(shù)據(jù)而編寫的應用框架,用途非常廣泛,框架的力量,用戶只需要定制開發(fā)幾個模塊就可以輕松的實現(xiàn)一個爬蟲,用來抓取網(wǎng)頁內容以及各種圖片,非常之方便2021-11-11
python實現(xiàn)在無須過多援引的情況下創(chuàng)建字典的方法
這篇文章主要介紹了python實現(xiàn)在無須過多援引的情況下創(chuàng)建字典的方法,是非常實用的技巧,需要的朋友可以參考下2014-09-09

