Python:从图像中提取文本

2024-09-27 19:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从下图中提取(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

你能帮我一下吗,谢谢

上面使用的图像是


Tags: tofromimageimportrestringpil图片
1条回答
网友
1楼 · 发布于 2024-09-27 19:29:26

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

我认为,如果你对图像进行预处理,即转换为二值图像,并将其倾斜直到文本完全笔直,你会得到更好的结果

相关问题 更多 >

    热门问题