MATLAB向圖像添加噪聲的命令是
噪聲
該函數的基本語法是:
g=imnoise(f,類型,參數)
f是輸入圖像。在將噪聲添加到圖像之前,函數imnoise將其轉換為範圍為[0,1]的雙圖像。指定噪聲參數時,必須考慮這壹點。
G=imnoise(f,'高斯',m,var)給圖像f加上均值為m,方差為var的高斯噪聲,默認值為均值為0,方差為0.01的噪聲。
G=imnoise(f,' localvar ',V)將均值為0、局部方差為V的高斯噪聲加到圖像F上,其中V是壹個與F大小相同的數組,包含每個點的理想方差值。
G = imnoise (f,' localvar ',image _ intensity,var)將
將平均值為0的高斯噪聲添加到圖像f中,其中噪聲的局部方差var是圖像f的亮度值的函數。參數image_intensity和var是具有相同大小的方向。
Quantity,plot(image_intensity,var)繪制噪聲方差與圖像亮度之間的函數關系。向量image_intensity必須包含範圍。
歸壹化亮度值在[0,1]範圍內。
g=imnoise(f,'鹽& ampPepper ',d)用椒鹽噪聲汙染圖像f,其中d為噪聲密度(即包含噪聲值的圖像面積百分比)。因此,大約d*numel(f)個像素受到影響。默認的噪波密度為0.05。
G=imnoise(f,' speckle ',var)乘性噪聲通過等式g=f+n*f)加到圖像f中,其中n是均值為0、方差為var的均勻分布隨機噪聲,VaR的默認值為0.04。
G=imnoise(f,' poisson ')從數據中生成泊松噪聲,而不是添加人工噪聲。
在數據中,為了符合泊松統計,unit8和unit16的圖像亮度必須與光子數壹致。當每個像素的光子數大於65535時,將使用雙精度圖像。亮度值從0到1不等,對應於光子數除以10e12。
1均值濾波器
均值濾波是壹種典型的線性去噪方法,因為其運算簡單快速,同時能有效去除高斯噪聲。因此,它的應用範圍很廣。
許多噪聲濾波方法都是在此基礎上發展起來的。它的缺點是嚴重破壞了圖像的邊緣,使圖像模糊。
2低通濾波器
低通濾波器,信號或圖像的能量大多集中在幅度譜的中低頻段是很常見的;在較高的頻帶中,感興趣的信息經常被噪聲淹沒。因此。可以降低高頻分量幅度的濾波器可以減弱噪聲的可見影響。這是壹種頻域處理方法。在分析圖像信號的頻率特性時,圖像的邊緣、跳變和粒子噪聲代表了圖像信號的高頻成分,而大面積的背景區域代表了低頻成分。通過濾波的方法濾除其中的高頻部分,可以去除噪聲,平滑圖像。但同時有用的高頻成分也被過濾掉了。因此,這種處理是以犧牲清晰度為代價的。
3中值濾波器
中值濾波是Tueky在1971中提出的壹種消除噪聲的非線性處理方法。其基本原理是用數字圖像或數字序列中某壹點的相鄰點的中值來代替該點的值。中位數的定義如下:對壹個數值序列的元素進行排序,如果元素個數為奇數,則取排序後序列的中值。如果序列元素的數量是偶數,則取排序後的序列的中間兩個值的平均值。
具有特定長度或形狀的點的區域稱為窗口。在壹維情況下,中值濾波器是具有奇數像素的滑動窗口。窗口中間像素的值由窗口中每個像素的中值代替。
該濾波器是壹種典型的非線性處理方法。它的優點是對消除圖像中的脈沖噪聲非常有效,能更好地保護圖像的邊緣信息。
缺點是涉及大量排序操作,運算速度慢,對圖像的實時處理有影響。壹般來說,圖像必須轉換成數字圖像才能被計算機處理。數字圖像以數字的形式存在。在使用MATLAB (Matrix Laboratory)進行處理時,我們簡單的理解為是壹個具有壹定大小的數字矩陣。矩陣中的每個有效單詞代表壹個圖像點。由此可知,數字圖像的處理實際上是壹個數字矩陣的運算。
為了研究方便,我們的方法是在原始圖像上人為添加噪聲,主要是正態分布隨機噪聲和強度不同的脈沖噪聲。在MATLAB中,正態分布噪聲由randn函數實現,而脈沖噪聲,俗稱椒鹽噪聲,由imnoise(Io,' saIt 8L pepper,I)實現。其中,Io是原始圖像矩陣,I取值。到1,表示噪聲的強度。