使用Python从图像中提取分组文本

2024-09-27 07:22:15 发布

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

当我想用python从图像中提取和本地化文本时,我知道我可以使用类似pytesseract的OCR库。但我在网上看到的是:每个单词都是单独提取的,引擎无法检测哪些单词属于同一个单词

假设我有一个图像,上面分布着句子/文本块。它们彼此之间的距离足够远,因此很容易辨认出它们是分开的

如何将这些词组提取到列表中?例如,如果左上角有"Hello World",右下角有"Foo bar"。然后我希望我的函数返回[["Hello", "world"], ["Foo", "bar"]]

编辑:如果没有内置功能/更优雅的方法来实现这一点,这将是我的手动方法:

https://fahmisalman.medium.com/an-easy-way-of-creating-text-localization-and-detection-in-tesseract-ocr-24cc89ed6fbc

然后,我将计算每对边界框之间的最小距离,然后使用某种算法确定哪些属于一起(例如,将距离放在列表中,计算0.8分位数,然后将距离小于1/5的所有单词组合在一起。当然,数字需要微调)

我这样问是因为我不敢相信这样的事情已经不存在了(从图像中提取句子或短语而不是单个单词对我来说听起来并不太奇怪)。我不想不必要地重新发明轮子

编辑:以下是我的示例的图像:

example image


Tags: 方法图像引擎文本编辑距离hello列表

热门问题