2013-04-01 42 views
2

我正在处理的图像中我想从中取出部分并制作一幅新图像。我可以使用ImageMagick或OpenCV。下面是一个示例图像:拍摄一幅图像的一部分以创建另一幅图像

enter image description here

从这个形象,我想拿出标题,两个注释文本(一个在圆一个在矩形),并从底部的文本。

因此,最终的图像将具有:图像标题,带注释的文本1,带注释的文本文本,这是一些测试。这些图像的这些部分在新图像中不必按照任何特定的顺序。

问题

  • 我可以使用什么样的策略来做到这一点?
  • 会不会帮忙?
  • 我在想,因为我想要的图像部分都是文字,也许hough线可以检测到直线,然后我裁剪出这些图像的那些部分...
  • 我的主要目标是提取文本,所以我可以将它发送到OCR

我试图侵蚀图像以及与此想出了:

enter image description here

我的策略

以下是我的策略,只保留带有白色背景和文字的部分图像。不过,我不知道这是可行的与OpenCV中...

会有不同的ROI的图像中

  • 总是会有白色背景上的图像的顶部,让我们称之为这个空间标题。因此,我将图像顶部的矩形部分裁剪掉,并将其另存为一个单独的图像
  • 图像底部总是会有白色背景,我们可以调用此主体。因此,我剪出图像底部的矩形部分,并将其另存为一个单独的图像。
  • 图像顶部会有一些文字,让我们调用这个带注释的文字。这将以正方形或圆形显示。我可以使用this answer中提到的技术来裁剪图像的这些部分,并将它们保存为单独的图像。
+0

为什么不在图像上使用OCR?文本已经干净,在白色背景上。 – Bitwise

+0

这是一个示例图像。在其他某些图像中,文字非常接近正方形和圆形。在这些情况下,我只能读取图像下方的标题和文本,而不是注释文本。为了获得更好的成功率,我希望能够取出图像的一部分并将它们提供给OCR或对图像进行预处理,以使图像中没有其他文字残留。 – birdy

+0

文本检测通常是一台机器学习阶段在管道中。如果您知道字体类型和/或大小的限制,那么可能使用滑动窗口技术在已知示例上训练SVM将是一个起点。 OpenCV有很多ML例子,其中不包括OCR吗? –

回答

0

如果您只处理类似的外观字体,并且您没有在寻找超高效的内容,那么您可以简单地与字母表中的每个字母(上26和下26)进行关联。阈值出峰并将它们加在一起。然后,您可以在峰顶周围定义边界框。

相关问题