【发布时间】:2013-04-28 15:40:22
【问题描述】:
我需要在 Java 中实现一个方向加权中值滤波器来消除随机脉冲噪声。我不知道如何/从哪里开始。算法如下:
- 创建一个 5x5 窗口
- 从中心像素考虑 4 个方向(垂直、水平、左对角、右对角)(每个方向 5 个像素)
- 计算加权差并取最小值
- 将最小值与阈值进行比较:
如果值> 阈值:它是噪声像素
否则:它不是噪声像素 - 计算每个方向 5 个像素的标准差
- 对标准差最小的方向给予额外的权重,计算加权中位数
- 噪声像素被这个中值替换
- 在整个图像中移动窗口
- 重复步骤 8 到 10 次
谁能指出我应该如何实现这一点的正确方向?任何示例或实现的代码都将受到高度赞赏。我正在使用 ImageJ,所以任何实现了这个过滤器(或它的变体)的插件都会非常有帮助。谢谢。
【问题讨论】:
-
澄清一下——如果您有“随机脉冲噪声”,为什么需要定向滤波器?正常中位数或边缘保留中位数可能合适?
-
这只是我读到的一些论文。你知道如何实现吗?有什么可以参考的吗?
-
这听起来像是一个有趣的过滤器,可以在去除噪音的同时保持线性轨道。你能分享那个论文的链接吗?
标签: java image-processing filter median imagej