在拥挤的图像中使用 opencv 确定文本区域

Determining text areas using opencv in crowded images

我正在尝试(但失败了)从较大的图像中定位包含文本的区域。具体来说,我正在寻找识别魔术卡的标题。目前我已经设法将图像切割成包含标题的块,例如

input image.

尽管如此,即使训练 ocr 库仅使用这种字体,准确度仍然很低。据我所知,我能做的最好的事情就是将图像裁剪成只有文本。经过研究,我仍然无法这样做。我尝试实施 Extracting text OpenCV however the text is too close to the border for this to work. attempt image 中提出的解决方案。如果可能的话,我们将不胜感激 java 形式的帮助。 (对不起图片链接,我没有嵌入图片的声誉)

按照建议发布答案。

这个答案依赖于文本总是离边界很近 distance/offset。

使用 Canny/Hough 等找到边界的边界,并使用最适合您的图像的任何过滤技术(侵蚀、稀释、锐化、灰度、二进制阈值等)。

然后取这个边界矩形的较小的内部 submat() 以获得文本应该在哪里的近似值和 运行 这个子垫上的 ocr。