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

时间:2015-10-29 22:18:37

标签: java opencv ocr tesseract

我正在尝试(并且未能)定位包含较大图像的文本区域。具体来说,我希望识别魔术卡的标题。目前我已设法将图像剪切为包含标题的块,例如

input image

尽管如此,即使经过训练,ocr库只能与此字体一起使用,但字体精度仍然很低。据我所知,我能做的最好的事情是将图像裁剪为仅文本。经过研究,我仍然无法做到这一点。我试图实现Extracting text OpenCV中提出的解决方案,但是文本太靠近边界才能使用。 attempt image。如果可能的帮助以java的形式将非常感激。 (对不起图像链接,我没有嵌入图像的声誉)

1 个答案:

答案 0 :(得分:0)

按照建议发布答案。

这个答案依赖于文本总是接近距离边界相同的距离/偏移。

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

然后使用这个边界的较小的内部submat()来限制Rect,以获得文本应该在的位置的近似值,并在该submat上运行ocr。