Python: 从图像中提取文本

问题描述 投票:0回答:1

我想从下面的图片中提取(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个回答
1
投票

pytesseract 是为文档设计的,它希望文本是直的(就像一个正常的文档)。如果你翻转你的图像,它应该工作得更好。

EDIT:用代码。

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

我想如果你对图像进行预处理,即转换为二进制图像,并将其倾斜,直到文字完全是直的,你会得到更好的效果。

© www.soinside.com 2019 - 2024. All rights reserved.