图像处理之matlab中imnoise函数用法详解
一、圖像噪聲基本概念
噪聲在圖像上常表現為引起較強視覺效果的孤立像素點或像素塊。一般噪聲信號與要研究的對象不相關,其以無用的信息形式出現,擾亂圖像的可觀測信息。通俗的說即噪聲讓圖像不清楚。
二、常見噪聲的分類
1、高斯噪聲
高斯噪聲是指其概率密度函數服從高斯分布(即正態分布)的一類噪聲。若一個噪聲,其幅度分布服從高斯分布,且其功率譜密度又是均勻分布,則稱為高斯白噪聲。高斯白噪聲的二階矩不相關,一階矩為常數,是指先后信號在時間上的相關性。高斯噪聲的噪聲信號隨機分布,沒有規律。
2、泊松噪聲
泊松噪聲是指其概率密度函數服從泊松分布的一類噪聲,泊松分布適合于描述單位時間內隨機事件發生的次數的概率分布。泊松噪聲一般在亮度很小或者高倍電子放大線路中出現。
3、椒鹽噪聲
椒鹽噪聲又稱脈沖噪聲,其隨機改變一些像素值,在二值圖像上表現為使一些像素點變白,一些像素點變黑。椒鹽噪聲是由圖像傳感器,傳輸信道,解碼處理等產生的黑白相間的亮暗點噪聲,往往由圖像分割引起,老式電視機常常出現的“雪花”即為椒鹽噪聲。
4、斑點/乘性噪聲
根據相干原理進行成像的系統中普遍存在的一類噪聲,如超聲、雷達、SAR等。噪聲原理是反射表面在波長尺度上是粗糙的,因此反射波存在明顯的散射效應,導致所成的像出現斑點。
三、imnoise()函數基本調用格式
| J = imnoise(I,type) | 按照給定類型添加圖像噪聲給圖像I |
| J = imnoise(I,type,parameters) | 按照給定類型添加圖像噪聲給圖像I,parameters泛指可以添加的參數,類型不同,參數不同 |
| J = imnoise(I,‘gaussian’,m,v) | 添加高斯白噪聲給圖像I,均值為m,方差為v。默認m = 0,v = 0.01 |
| J = imnoise(I,‘localvar’,V) | 將均值為0,局部方差為V的高斯噪聲添加到圖像I上,其中V是與I大小相同的一個數組 |
| J = imnoise(I,‘localvar’,h,v) | 在圖像的不同亮度值上疊加不同方差的高斯噪聲,h為在[0,1]之間的向量,表示圖像的亮度值,v為一個長度和h相同,表示與h中亮度對應的高斯噪聲的方差 |
| J = imnoise(I,‘poisson’) | 添加泊松噪聲給圖像I |
| J = imnoise(I,‘salt & pepper’,d) | 添加椒鹽噪聲給圖像I,噪聲密度為d。默認d=0.05 |
| J = imnoise(I,‘speckle’,v) | 添加斑點/乘性噪聲給圖像I,方差為v。默認v=0.04 |
四、imnoise()函數應用實例
I = imread('pout.tif'); figure(1),imshow(I); title('Original image'); figure(2), J = imnoise(I,'gaussian',0,0.03); % 添加高斯白噪聲,均值0,方差0.03 subplot(221),imshow(J); title('Gaussian'); K = imnoise(I,'salt & pepper',0.03);% 添加椒鹽噪聲,噪聲密度0.03 subplot(222),imshow(K); title('Salt & Pepper'); L = imnoise(I,'poisson'); % 添加泊松噪聲 subplot(223),imshow(L); title('Poisson'); M = imnoise(I,'speckle',0.03); % 添加斑點/乘性噪聲,方差為0.03 subplot(224),imshow(M); title('Speckle');輸出效果:
注意:原始圖像是uint8的灰度圖像,灰度值范圍為[0,255],故imnoise函數在處理時會將圖像先轉換為[0,1],然后按照所給的均值和方差添加噪聲,最后再將圖像轉換到[0,255]的范圍內。因此參數設置需注意,若所給的圖像是uint8時,所給的均值和方差必須是在[0,1]的范圍內,即歸一化,否則直接給100的方差時,imnoise函數會將圖像歸一化,然后按照方差100來添加噪聲,這樣原先的圖像就給淹沒了,反而變成了噪聲為主導的圖像。
補充:圖像噪聲的特點
- 噪聲在圖像中的分布和大小不規則,即具有隨機性。
- 噪聲與圖像之間一般具有相關性。
- 噪聲具有疊加性。
總結
以上是生活随笔為你收集整理的图像处理之matlab中imnoise函数用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序中的科学计数法
- 下一篇: matlab人脸追踪,求大神帮助我这个菜