边界去除:自动裁剪包含具有不同边距大小的文本的多个图像

Boundary removal: Auto cropping multiple images containing text with differing margin sizes

我正在裁剪包含我最终希望提供给 tesseract 的文本的数千张图像。不幸的是,在尝试转录文本之前,我想删除所有图像上的边界(边界的位置因图像而异)。我想删除的边界文本示例显示在下图中 --- 黑框包含我想保留的文本行(在这种情况下它被涂黑,因为它是敏感数据)。

我通常会使用 mogrify 来预处理图像,但在这种情况下,移动位置使我无法这样做。有人可以建议一种快速而肮脏的方法来裁剪这些图像吗?我已经审查了使用 Python 的 PIL 的方法,但没有找到解决方案(我的经验有限)。

由于边距长度不可预测,我不得不改用模板匹配。 python 示例 here 非常有用。当图像质量较差时,模板可能位于何处会造成一些混淆,因此从原始图像中选择四个感兴趣区域 (ROI)、N、S、E 和 W,并在这些区域内匹配模板。

对于那些感兴趣的人,我从图像集中随机选择了一些图像,并从该集中提取了我的模板。然后,我根据每个区域的模板之间的多数投票来决定前沿在哪里。