适合小白的几个入门级Python ocr识别库
適合小白的幾個(gè)入門級Python ocr識(shí)別庫
- 1、pytesseract
- 2、PaddleOCR
- 3、easyocr
- 4、muggle_ocr
- 5、dddd_ocr
- 6、其他
工作生活中經(jīng)常會(huì)遇到需要提取圖片中文字信息的情況,以前都是手動(dòng)自己把圖片里的字敲出來,但隨著這幾年人工智能技術(shù)的愈發(fā)成熟,市面上有越來越多的ocr產(chǎn)品了,基本上能大部分正常圖片的文字提取需求。當(dāng)然有時(shí)候需要提取文字的圖片數(shù)量較多或者有某個(gè)應(yīng)用程序編寫需求時(shí),就需要借助代碼來實(shí)現(xiàn)了,這里介紹幾個(gè)比較適合新手小白的python ocr庫,簡單實(shí)用,可滿足絕大多數(shù)常規(guī)的圖片文字提取、驗(yàn)證碼識(shí)別需求。
1、pytesseract
pytesseract需要配合安裝在本地的tesseract-ocr.exe文件一起使用,tesseract-ocr.exe安裝教程可參考這里:Tesseract Ocr文字識(shí)別,需要注意的是安裝時(shí)一定要選中中文包,默認(rèn)是只支持英文識(shí)別。
python庫安裝命令如下:
pip install pytesseract待識(shí)別圖片如下:
代碼實(shí)現(xiàn):
識(shí)別結(jié)果輸出:
Using Tesseract OCR with Python # import the necessary packages from PIL import Image import pytesseract import ergperse import cv2 import os# construct the argument parse and parse the arguments ap = argparse.ArgunentParser() ap.add_argument("-i", "--image", required-True, help="path to input image to be OCR'd") ap.add_argument("-p", "--preprocess", typesstr, default="thresh", helpe"type of preprocessing to be done") args = vars (ap.parse_args())2、PaddleOCR
PaddleOCR是百度開源的一款基于深度學(xué)習(xí)的ocr識(shí)別庫,對中文的識(shí)別精度相當(dāng)不錯(cuò),可以應(yīng)付絕大多數(shù)的文字提取需求。
需要依次安裝三個(gè)依賴庫,安裝命令如下,其中shapely庫可能會(huì)受系統(tǒng)影響安裝報(bào)錯(cuò),具體解決方案參考這篇博客:百度OCR(文字識(shí)別)服務(wù)使用入坑指南
pip install paddlepaddle pip install shapely pip install paddleocr待識(shí)別圖片如下:
代碼實(shí)現(xiàn):
識(shí)別結(jié)果輸出如下,會(huì)顯示出每個(gè)區(qū)域字體識(shí)別的置信度,以及其坐標(biāo)位置信息:
3、easyocr
github上一萬多個(gè)star的開源ocr項(xiàng)目(github地址:EasyOCR),支持80多種語言的識(shí)別,識(shí)別精度超高。
python庫安裝命令如下:
pip install easyocr待識(shí)別圖片如下:
代碼實(shí)現(xiàn):
初次運(yùn)行需要在線下載檢測模型和識(shí)別模型,建議在網(wǎng)速好點(diǎn)的環(huán)境運(yùn)行:
Using CPU. Note: This module is much faster with a GPU. Downloading detection model, please wait. This may take several minutes depending upon your network connection. Downloading recognition model, please wait. This may take several minutes depending upon your network connection.識(shí)別結(jié)果輸出如下,沒有遺漏任何一個(gè)文字,精度甚至要優(yōu)于前面的PaddleOCR:
['幫助文檔', '快捷鍵', '目錄', '標(biāo)題', '文本樣式', '列表', '鏈接', '代碼片', '表格', '注腳', '注釋', '自定義列表', 'LaTex 數(shù)學(xué)公式', '插入甘犄圖', '插入U(xiǎn)ML圖', '插入Mernaid流程圖', '插入 Flowchart流程圖', '插入類圖']4、muggle_ocr
muggle_ocr是一款輕量級的ocr識(shí)別庫,從名字也可以看出來,專為麻瓜設(shè)計(jì)!使用也非常簡單,但其強(qiáng)項(xiàng)主要是用于識(shí)別各類驗(yàn)證碼,一般文字提取效果就稍差了。
python庫安裝命令如下:
pip install muggle_ocr待識(shí)別驗(yàn)證碼如下:
代碼實(shí)現(xiàn):
import muggle_ocr# 初始化sdk;model_type 包含了 ModelType.OCR/ModelType.Captcha 兩種模式,分別對應(yīng)常規(guī)圖片與驗(yàn)證碼 sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)with open(r"d:\Desktop\四位驗(yàn)證碼.png", "rb") as f:img = f.read()text = sdk.predict(image_bytes=img) print(text)識(shí)別結(jié)果輸出如下:
MuggleOCR Session [captcha] Loaded. 3n3d5、dddd_ocr
dddd_ocr也是一個(gè)用于識(shí)別驗(yàn)證碼的開源庫,又名帶帶弟弟ocr,爬蟲界大佬sml2h3開發(fā),識(shí)別效果也是非常不錯(cuò),對一些常規(guī)的數(shù)字、字母驗(yàn)證碼識(shí)別有奇效。
python庫安裝命令如下:
pip install dddd_ocr待識(shí)別驗(yàn)證碼如下:
代碼實(shí)現(xiàn):
import ddddocrocr = ddddocr.DdddOcr()with open("d:\Desktop\四位驗(yàn)證碼2.png", 'rb') as f:img_bytes = f.read()res = ocr.classification(img_bytes)print(res)識(shí)別結(jié)果輸出如下,可以看出即使有一些線條干擾,還是準(zhǔn)確的識(shí)別出了四個(gè)字母:
jepv6、其他
還有其他優(yōu)秀的ocr識(shí)別庫,以后慢慢更新
總結(jié)
以上是生活随笔為你收集整理的适合小白的几个入门级Python ocr识别库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能传感器应用领域及其发展现状
- 下一篇: websocket python爬虫_p