2013-05-04 133 views
1

我需要在Java中實現方向加權中值濾波器以消除隨機脈衝噪聲。我不知道如何/從哪裏開始。該算法是按如下:定向加權中值濾波器(圖像處理)

  1. 創建一個5×5窗口
  2. 考慮從中心像素的4個方向(垂直,水平,對角線左,右斜)(5個像素中的每個方向)
  3. 計算加權差,並採取的最小值
  4. 最小值進行比較的閾值:
    如果值>閾值:它是噪聲像素
    否則:它不是噪聲像素
  5. 計算值的5個像素中的每個方向
  6. 給予額外的重量,其中的標準偏差爲最小的方向的烏拉特標準偏差,加權中值被計算
  7. 的噪聲像素被
  8. 移動窗口整個替換爲中間值圖像
  9. 迭代步驟8到10倍

任何人都可以點我在正確的方向我應該如何去實現呢?任何示例或實施代碼將受到高度讚賞。我使用ImageJ,因此任何實現了此過濾器(或其變體)的插件都會非常有幫助。謝謝。

+0

只是澄清 - 如果你有「隨機脈衝噪聲」,爲什麼你需要一個定向濾波器?正常中位數或邊緣保留中位數可能是合適的? – 2013-05-04 10:54:16

+0

這只是從我讀過的一些論文。你知道如何實現這個嗎?任何我可以提及的? – evarey 2013-05-06 05:52:51

+0

這聽起來像一個有趣的過濾器,以保持線性軌道,同時消除噪音。你能分享一篇文章的鏈接嗎? – 2013-05-06 09:20:43

回答

0

顯然,這個過濾器還沒有被實現爲ImageJ插件。不幸的是,我也無法在您鏈接的出版物中找到任何來源。除非您直接詢問作者的代碼,否則您必須根據發佈的說明自行實施過濾器。

您可以從在ImageJ plugins page上列出的其他過濾器的實施(和來源)開始。我建議實施ExtendedPlugInFilter界面。

或者,您應該考慮使用ImgLib,通用圖像處理庫包含在Fiji中,並且是未來ImageJ2的核心模型。您可以在斐濟郵件列表([email protected])獲得更多幫助。