python图片识别之 easyocr
生活随笔
收集整理的這篇文章主要介紹了
python图片识别之 easyocr
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、簡介
**easyocr**:
- EasyOCR 是一個使用 Java 語言實現的 OCR 識別引擎(基于Tesseract)。借助幾個簡單的API,即能使用Java語言完成圖片內容識別工作。并集成了圖片清理、識別 CAPTCHA 驗證碼圖片,票據等內容的一體化工作。
- EasyOCR不僅可以為消費者提供服務,更主要面向開發,能夠提供本地化的開發SDK集成,與 C/S,B/S 及 Android 移動端項目進行原生集成。
- EasyOCR 4.X 新架構上線,最新版本 4.2.0。
主要特點: - API 極簡,一個方法,一行代碼即可完成
- 純本地化SDK,JAVA原生支持,可作為引擎嵌入各種項目,支持 Android 移動端集成
- 支持 API 級別的識別白名單限定,限定識別范圍
- 支持上百種語言識別,并支持混合語言識別,如:英文+日文+德文
- 專門針對常用票據、驗證碼圖片的清理、識別一體化實現,內置多種常見類型的驗證碼圖片選項
- 支持自定義插件,能夠編寫基于EasyOCR一體化識別的圖片清理擴展插件
- ETD模板支持,提供圖形化ETD模板設計工具(EasyTemplateDesigner),準確可控提高識別率
- EasyOCR Suite 跨平臺 GUI 套件支持,為開發人員和消費者提供設計和使用工具
- 標準輸入輸出,支持Socket網絡接口的輸入輸出
- 支持識別訓練,基于規則的結果修正訓練,讓識別準確合理,提供后天能力增長
- 性能卓越,默認純內存運算交換
- 可脫離環境變量運行
- 跨平臺支持:Window, Linux, Unix, Android
二、安裝
# 安裝穩定版本 pip install easyocr -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com # 安裝最新版本 pip install git+https://github.com/JaidedAI/EasyOCR.git測試
import easyocr print(easyocr.__version__)下載模型地址:
https://www.jaided.ai/easyocr/modelhub/ 下載后把模型文件解壓后拷貝到用戶目錄:C:\Users\用戶名.EasyOCR\model三、使用
Reader 方法詳解:
- lang_list (list):識別語言代碼,比如[‘ch_sim’,’en’]分別表示簡體中文和英文。
- gpu (bool, string, default = True) :是否使能GPU,只有安裝了GPU版本才有效。
- model_storage_directory (string, default = None) :模型存儲位置,依次查找系統變量
- download_enabled (bool, default = True):如果沒有對應模型文件時,自動下載模型。
- user_network_directory (bool, default = None) :用戶自定義識別網絡的路徑
- recog_network (string, default = ‘standard’) :替代標準模型,使用自定義的識別網絡。
- detector (bool, default = True) :是否加載檢測模型。
- recognizer (bool, default = True) :是否加載識別模型。
readtext 方法詳解
- image (string, numpy array, byte) : 輸入圖像;
- decoder (string, default = ‘greedy’):選項有 ‘greedy’、‘beamsearch’ 和 ‘wordbeamsearch’;
- beamWidth (int, default = 5) : 當解碼器 = ‘beamsearch’ 或 ‘wordbeamsearch’ 時要保留多少光束;
- batch_size (int, default = 1) : batch_size>1 將使 EasyOCR 更快但使用更多內存;
- worker (int, default = 0) : 數據加載器中使用的編號線程;
- allowlist (string) : 強制 EasyOCR 只識別字符的子集。對特定問題有用(例如車牌等);
- blocklist (string) : 字符的塊子集。如果給定了允許列表,則此參數將被忽略。
- detail (int, default = 1): 將此設置為 0 以進行簡單輸出;
- paragraph (bool, default = False):將結果合并到段落中;
- min_size (int, default = 10) : 過濾文本框小于最小值(以像素為單位);
- rotation_info (list, default = None) : 允許 EasyOCR 旋轉每個文本框并返回具有最佳置信度分數的文本框。符合條件的值為 90、180 和 270。例如,對所有可能的文本方向嘗試 [90, 180 ,270]。
- contrast_ths (float, default = 0.1) : 對比度低于此值的文本框將被傳入模型 2 次。首先是原始圖像,其次是對比度調整為“adjust_contrast”值。結果將返回具有更高置信度的那個;
- adjust_contrast (float, default = 0.5) : 低對比度文本框的目標對比度級別。
- text_threshold (float, default = 0.7) : 文本置信度閾值
- low_text (float, default = 0.4) : 文本下限分數
- link_threshold (float, default = 0.4) : 鏈接置信度閾值
- canvas_size (int, default = 2560) :最大圖像尺寸。大于此值的圖像將被縮小。
- mag_ratio (float, default = 1) :圖像放大率
- slope_ths (float, default = 0.1) - 考慮合并的最大斜率 (delta y/delta x)。低值意味著不會合并平鋪框。
- ycenter_ths (float, default = 0.5) - y 方向的最大偏移。不應該合并不同級別的框。
- height_ths (float, default = 0.5) - 盒子高度的最大差異。不應合并文本大小非常不同的框。
- width_ths (float, default = 0.5) - 合并框的最大水平距離。
- add_margin (float, default = 0.1) - 將邊界框向所有方向擴展某個值。這對于具有復雜腳本的語言(例如泰語)很重要。
- x_ths (float, default = 1.0) - 當段落=True 時合并文本框的最大水平距離。
- y_ths (float, default = 0.5) - 當段落 = True 時合并文本框的最大垂直距離。
調用方式
import easyocrreader = easyocr.Reader(['ch_sim', 'en']) result = reader.readtext('xxxx.png') for res in result:print(res)總結
以上是生活随笔為你收集整理的python图片识别之 easyocr的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决笔记本,如微星GS65偶尔卡顿,黑屏
- 下一篇: websocket python爬虫_p