2012-04-25 105 views
4

對不起,如果這看起來像一個愚蠢或懶惰的「我不能找到它」的問題,但我一直在嘗試幾天,找到一份文件或類似的東西來解釋如何(在2D圖像上)產生斑點噪聲我發現去除斑點噪聲的一種更簡單的方法是平均濾波器(我已經實現),但是我絕對無法找到產生噪聲的方式。有人能指導我到哪裏我可以學會產生斑點噪聲嗎?此外,它會是一個問題,問是否有一個簡單的方法來做到這一點在OpenCV(一個C++圖像處理庫)散斑噪音生成

感謝您的任何幫助你可以提供。

回答

4

散斑噪聲本質上是一個乘性噪聲,它可能(或不可能)有一個加性噪聲(定義因環境而異)。這個paper提供了斑點噪聲的一個很好的概述,包括描述和去除它的方法。

下面是一些簡單的Python代碼,可以產生乘斑點噪聲:

import cv 

im = cv.LoadImage('tree.jpg', cv.CV_LOAD_IMAGE_GRAYSCALE) 
mult_noise = cv.CreateImage((im.width,im.height), cv.IPL_DEPTH_32F, 1) 

cv.RandArr(cv.RNG(6), mult_noise, cv.CV_RAND_NORMAL, 1, 0.1)  

cv.Mul(im, mult_noise, im) 

cv.ShowImage("tree with speckle noise", im) 
cv.WaitKey(0) 

無噪音:

enter image description here

與斑點噪聲: enter image description here

+0

哇!代碼+優秀解釋+我可以參考的論文?非常感謝。 – user901898 2012-04-25 09:43:11

+0

@ user901898 - 歡呼:)和幸運你! – fraxel 2012-04-26 10:16:55

0

散斑噪聲是鏈接編輯到物理成像過程,所以我不確定很容易(甚至是真的有可能)以一般方式進行模擬。

但是,根據您所需的圖像類型,您可以使用其他形式的噪聲來接近它。我猜測乘法的鹽胡椒噪音應該或多或少地模擬SAR圖像。

另一個可能更好的可能性是探索美國國家航空航天局/歐空局的網站,並尋找合成孔徑雷達圖像(尋找像昴星團,科斯莫天空和SAR盧佩等節目)。一些門控激光成像實驗室也公開發布了一些樣本數據。

+0

我已經開發的方法產生標準普爾噪音,所以如果我只是將標準普爾的結果與輸入的結果相乘,它應該是「類似「散斑噪音?我的應用實際上是比較和對比不同的空間,頻率和小波技術的去噪能力。問題在於我被要求使用a)高斯b)S&P和c)斑點來破壞圖像。我開發了其他兩種方法,但似乎卡在斑點圖像上。我也會看看其他的可能性。感謝您的快速回復:) – user901898 2012-04-25 08:40:19

+0

是否適合科學圖像處理課程?大多數基本課程假設斑點爲乘法噪聲,因此將圖像與噪聲相乘(而不是添加噪聲)應該可以實現。但你可以向電訊局長申請確認。 – sansuiso 2012-04-25 08:57:21

0

它可能只是一個添加高斯噪聲到您的圖像的問題。 cvRandArr似乎是一個很好的候選人。

你也可以通過用你的信號琢磨你的噪聲來得到更復雜的東西,這也很容易,因爲它只是原始圖像和噪聲之間的一些像素範圍的乘法。

+0

感謝您的快速回復。正如我在別處提到的,我的應用程序要求我爲高斯,鹽和胡椒斑產生噪音。 – user901898 2012-04-25 08:44:46

+0

「斑點」是嘈雜圖案的通用名稱,它可以是高斯或標準普爾,所以我不明白問什麼 – CharlesB 2012-04-25 09:00:18