从多边形中删除不正确的像素

时间:2013-12-28 15:56:09

标签: image algorithm contour simplify

我生成了一组点,创建了多边形区域边框。在下图中,有一个我的意思的例子。黑色“斑点”不应该在那里,线应该“清晰”。我需要删除这些要点。

enter image description here

现在问题是双重问题。首先,我不知道,这种情况如何被称为。它不是混叠或锯齿状边缘,因为这些点不是从线生成算法获得的,而是从轮廓生成器获得的。 如果不是这个名字,至少是一些推动,如何解决这个问题,对我有帮助。

到目前为止,我已经尝试将其转换为链代码并简化它,但这种方法效果不佳而且速度相当慢。将这些点转换为几何图形并使用Ramer算法更好地简化几何图形工作,但它会破坏一些应该存在的“精细”细节。

2 个答案:

答案 0 :(得分:4)

您可以尝试以下操作:

首先搜索这些景点。从你的数字看,这些斑点看起来像下面这样:

1 1
1 1

即,彩色像素的方阵。通过遍历像素矩阵可以很容易地找到这样的斑点。

现在,一旦识别出这些斑点,就需要检查相邻的像素,看看下面的曲线/线条是什么模式,并相应地删除不必要的像素。

答案 1 :(得分:2)

分离轮廓曲线并自行清洁每个曲线。

对于每个轮廓:

  1. 如果曲线未关闭,请使用临时线将其关闭。
  2. 泛光填充轮廓曲线以获得纯色单色图。
  3. 对结果运行轮廓检测。单色图形的边缘将是一条干净的线条。
  4. 洪水填充区域新的轮廓曲线。
  5. 最后一次运行轮廓检测以恢复原始轮廓。
  6. 将轮廓重新组合成单​​个位图。