我试图使用python模块textract
从图像中提取文本,因为图像包含很多噪音,除了我感兴趣的实际文本之外,我得到的输出是噪音。可以有人建议使用代码来清理输出。
这是我的代码:
>>> for i in glob.glob("*.jpg"):
... print(textract.process(i))
这是我的输出:
...
-s.
4‘-0-.r-v .-
5,14,45_18685-M
c.
.4
"V-0-an .-
5,14,44_17793-M
5,13,66
17951-N
5,13,65_17959-N
基本上我想要的是以数字" 5"开头的行。没有别的。所以我在上面的代码中添加了一行,但它仍然没有按照我预期的方式工作。
以下是修订后的代码
>>> for i in glob.glob("*.jpg"):
... text = textract.process(i)
... if text.startswith('5'):
... print text
和修订代码的输出
5,13,66
17951-N
5,13,65_17959-N
答案 0 :(得分:1)
也许您应该首先尝试将提取的文本拆分为行:
>>> for i in glob.glob("*.jpg"):
... text = textract.process(i)
... # Split text to multi lines
... for line in text.split('\n'):
... if line.startswith('5'):
... print line
答案 1 :(得分:0)
因此,考虑到您的最新输出,我认为您应该这样做:
for i in glob.glob("*.jpg"):
text = textract.process(i).strip()
if text.startswith('5'):
print text
这将从输出中删除所有前导和尾随空格。看起来你的案例中有很多尾随空格,导致每行之间出现额外的行。