在Java中识别图像中的类似模式

时间:2011-11-25 07:15:59

标签: java image image-processing

考虑我有以下类型的图像,如何识别图像文件中的点。获得点的坐标后,我想连接几个点,如正方形或三角形。

对此最好的方法是什么?

[编辑]: 此外,我不知道点的数量,它不是规则的,就像点之间存在线条一样。

enter image description here enter image description here

2 个答案:

答案 0 :(得分:0)

您可以通过图像的X * Y空间运行卷积蒙版。遮罩将是您在图像上的精确7x7(或其他)点。您将通过否定像素来运行蒙版,并且蒙版的任何位置都会给出最暗的结果,这意味着您在图像上找到了一个点存在的位置。

将所有点位置存储在集合中以供进一步处理。

如何在正方形和三角形中连接这些点可能是另一个问题。

答案 1 :(得分:0)

这个主题大而复杂 - 有很多技术(关于这件事的书籍通常大约2公斤100美元)。在这种特殊情况下,我会建议采取以下步骤。

  1. 二值化图像(retty fast and effective algorythm是由积分图像加速的Sauvola二值化)

  2. 在积分图像的帮助下找到网格位置(积分图像是从原始图像计算出来的,其中每个像素值是所有像素的左和上的总和。) - 图像右侧和底部的像素给你一个想法,无论图像行或列是否为空

  3. 我使用这些技术在JavaOCR开源项目中准备图像并查找文本行:

    http://sourceforge.net/projects/javaocr/