【问题标题】:Python: Extracting text from a imagePython:从图像中提取文本
【发布时间】:2020-06-11 07:25:51
【问题描述】:

我想从下图中提取 (91)4608。我有几个图像,我正在寻找的模式是 (91)xxxx,x 是一个数字。我尝试使用 pytesseract 如下

from PIL import Image
import pytesseract, re
f = "1591107148_festo.jpg"
t = pytesseract.image_to_string(Image.open(f))
print(t)

但我得到如下的垃圾输出,我相信它已编码,并且我注意到所有文本都没有被提取。

sanna vioxva ON ‘sivan Hs3ae4 NOSAL -Aa aanesia

0 yep OF 10d
‘enous @989id

Bq ayesphyoque 9 (639,
ee anes 8
Siz aon
ish Be peapoyemes | oP
a RLM

eLY

pap Buinieg| §
Bz) Zoy aig Suns!
s$y084 U0} ayn

你能帮帮我吗,谢谢。

上面使用的图片是..

【问题讨论】:

    标签: python computer-vision python-tesseract


    【解决方案1】:

    pytesseract 是为文档设计的,它希望文本在页面上是直的(就像普通文档一样)。如果你翻转你的图像,它应该会工作得更好。

    编辑: 带代码:

    from PIL import Image
    import pytesseract, re
    f = "1591107148_festo.jpg"
    t = pytesseract.image_to_string(Image.open(f).rotate(270))
    print(t)
    

    我明白了:

    ju have questions
    ase call ou ones
    
    Mam ount Per Serving:
    
    ~ {Calories 180 Calories from fat £70
    AT AND/OR POULTRY, Sf
    
    BACTERIA THAT COULD CAUSE IL
    
    WISHANDLED OR COOKED INP
    PROTECTION, FOLLOW THESE SAFE
    
    VEEP REFRIGERATED
    THAW IN REPRIGERA
    
    Se _
    =
    
    ‘otal Cal
    rotein
    fe
    
    Please vomere of DP
    prior to defrosting
    
    DISTRIBUTED BY: TYSON FRESH MEATS, INC DAKOTA DUNES
    

    我认为,如果您对图像进行预处理,即转换为二进制图像,然后将其倾斜直到文本完全笔直,您将获得更好的结果。

    【讨论】:

    • 你能告诉我一种将文本解码为英文的方法吗?
    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多