根据分布扩大图像

时间:2015-12-16 18:01:15

标签: matlab image-processing computer-vision

我的图片显示了一些随机填充的圆圈(例如,请参阅here)。我想改变这些圆圈以形成一些不规则的形状。换句话说,我想定义一个分布,通过它我可以扩展圆圈。显然,生成的新对象将不再是圆形,因为生成的对象基于可变的分布进行扩展;见this新变形圈。

我想知道是否有任何方法可以做到这一点?在我的第一次尝试中,我尝试在Matlab中使用图像扩张,但我不知道应该如何使用扩张“分布”。

IM2 = imdilate(IM,SE)

1 个答案:

答案 0 :(得分:2)

如果你想使用扩张来做,解决方案可能是:

  1. 让我说你是你原来的形象
  2. ImResult = Same(Im)
  3. ImClone =克隆(Im)
  4. 随机删除ImClone中的像素。要删除的像素数可以是百分比,也可以是您喜欢的任何颜色
  5. ImDilate = Dilate(ImClone),具有尺寸为N的结构元素
  6. 结果=最大值(结果,ImDilate)
  7. 如果您想要不同大小的变形,那么您将从步骤3迭代到6,具有不同的结构元素大小。
  8. 但你想要的更像是弹性变形。你应该看一下自由形态变形(FFD)。