簡體   English   中英

如何在小圖像中使用 pytesseract 改進手寫文本識別?

[英]How to improve handwritten text recognition using pytesseract in small image?

我想使用pytesseract庫進行手寫文本識別,以讀取平均尺寸為 43 * 45 像素的圖像中的數字字符。 以下示例圖像:
圖 1 圖 2 圖 3

預期結果:

9
1
4

我想從圖像中獲取單個數字字符。

我在下面嘗試過這段代碼

import pytesseract

# loop through images
print(pytesseract.image_to_string("text.jpg", config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789'))

但真正的結果,我得到的准確率不到 50% 甚至更低,有些數字讀得很好,有些數字在單個圖像中讀取了 2 個字符,有些沒有讀。
當我刪除-c tessedit_char_whitelist = 0123456789配置時,我得到字符4\和字母g
如何使 Pytesseract 將圖像視為唯一的單個數字字符,而不是使用仍將文本讀取為字母數字的白名單?

PS:我知道 OCR 不能 100% 准確。 至少可以提高准確性。

根據此 GitHub 問題,tesseract 4.0 不支持 LSTM model 的白名單字符。 您可以通過將 Tesseract 升級到 4.1 版本而不是使用舊版 model(即--oem標志)來解決此問題。

或者,您可以嘗試使用Robert Harris此答案中提出的標志config='digits'來強制您的 pytesseract 只返回數字。

這篇博客文章建議創建一個 python function,它使用一個簡單的正則表達式來提取所有數字,而不是使用幾個標志和版本來處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM