【问题标题】:How can I apply a ring-shaped median filter to an image in matlab? [closed]如何将环形中值滤波器应用于matlab中的图像? [关闭]
【发布时间】:2013-07-01 13:15:56
【问题描述】:

matlab 的默认函数 medfilt2 使用矩形掩码。

谢谢大家

【问题讨论】:

  • 戒指是指一个有洞的圆圈吗?您的意思是将其用作遮罩,或者在图像中有一个环形区域,该区域已完成中值滤波,而图像的其余部分不受影响?
  • 我不明白为什么投反对票...
  • @natan 幸运的是我们不能对评论投反对票...
  • 是的,这个问题措辞很糟糕,它仍然不值得 -5 票,更不用说 2 票接近了。这是一个合理的问题(据我所知),除非有重复的问题,否则作者需要做的就是使其更详细。除此之外meta.stackexchange.com/questions/3615/…
  • 这些 -5 票的好处是我现在可以拍摄反转徽章了... :)

标签: matlab image-processing filtering


【解决方案1】:

您可以使用 ordfilt2

例如,如果您的“环”刚刚定义为:

ring= fspecial('gaussian',21,1)
ring = ring>eps & ring<1e-9

然后:

order=sum(ring(:))/2;
B = ordfilt2(A,order,ring);

将 A 中的每个元素替换为由环域中的非零元素指定的已排序邻居集合中的第一个元素。 在这里,我选择了“顺序”作为环中总像素数的一半。

【讨论】:

  • 谢谢纳坦,这正是我所需要的。
猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
相关资源
最近更新 更多