簡體   English   中英

OCR的圖像預處理 - Tessaract

[英]Image Preprocessing for OCR - Tessaract

這是我想要檢測的圖像

顯然,這張圖片非常堅固,因為它的清晰度低並且不是真正的單詞。 但是,使用此代碼,我沒有檢測到任何接近:

import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
image_name = 'NedNoodleArms.jpg'
im = Image.open(image_name) 
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save(image_name)
text = pytesseract.image_to_string(Image.open(image_name))
print(text)

輸出

, Mdfiaodfiamms

這里有什么想法? 我的對比功能產生的圖像是:

在此輸入圖像描述

哪個看起來不錯? 我沒有大量的OCR經驗。 你會在這里推薦什么預處理? 我已經嘗試將圖像調整得更大,這有點但不夠,還有一堆來自PIL的不同濾鏡。 沒有什么特別接近的

你是對的,tesseract在更高的分辨率下效果更好,所以有時調整圖像大小有幫助 - 但不要轉換為1位。

我得到了很好的結果轉換為灰度,使其大3倍,使字母更亮:

>>> im = Image.open('j78TY.png')\
          .convert('L').resize([3 * _ for _ in im.size], Image.BICUBIC)\
          .point(lambda p: p > 75 and p + 100)
>>> pytesseract.image_to_string(im)
'NedNoodleArms'

檢查這個jupyter筆記本

在此輸入圖像描述

暫無
暫無

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

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