matlab 滤掉高斯噪声吗,我想问一下:怎么用matlab编写函数对图像进行高斯滤波以去除噪声...
2.?噪聲及其噪聲的?Matlab?實現
imnoise?函數
格式:J=imnoise(I,type)
J=imnoise(I,type,parameter)
說明:J=imnoise(I,type)?返回對圖像?I?添加典型噪聲后的有噪圖像?J?,參數?type?和?parameter?用于確定噪聲的類型和相應的參數。
加權領域平均算法來進行濾波處理
由實驗我們可以看出,一般的濾波器在對圖像進行噪聲濾除的同時對圖像中的細節部分有不同程度的破壞,都不能達到理想的效果。但是采用加權的鄰域平均算法對圖像進行噪聲濾除,?不僅能夠有效地平滑噪聲,?還能夠銳化模糊圖像的邊緣。?加權的鄰域平均算法的基本思想是:?在一個鄰域內,?除了可以利用灰度均值外,?灰度的上偏差和下偏差也能夠提供某些局部信息。算法的計算公式描述如下,?用f?(x?,y?)?表示原始圖像,?g?(x?,?y?)?為平滑后點(x?,?y?)?的灰度值,V?x?,?y?表示以點(x?,?y?)?為中心的鄰域,?該鄰域包含N?個象素,m?(x?,?y?)?表示鄰域V?x?,?y?內的灰度均值。NI表示鄰域內大于平均值的像素個數,Ng表示小于平均值的像素個數,而N0表示等于平均值的像素個數。則修正的鄰域平均法由下式給出:
m?-?A??m?l;?N?l?>?max{N?g?,N?0}
g(x,y)=?m?+?A??m?g;?N?g?>?max{N?l?,N?0}?(1)
m?;? else
(1)式(1)?中,?A為修正系數,?取值范圍為0~?1,?其大小反映V?x?,?y?中的邊緣狀況。?以上是我認為在圖像處理中比較有價值的兩點,有興趣的可以上網查閱相關的資料。
3.?圖像濾波的?Matlab?實現
3.1?conv2?函數
功能:計算二維卷積
格式:C=conv2(A,B)
C=conv2(Hcol,Hrow,A)
C=conv2(...,'shape')
說明:對于?C=conv2(A,B)?,conv2?的算矩陣?A?和?B?的卷積,若?[Ma,Na]=size(A),?[Mb,Nb]=size(B),?則?size(C)=[Ma+Mb-1,Na+Nb-1];?C=conv2(Hcol,Hrow,A)?中,矩陣?A?分別與?Hcol?向量在列方向和?Hrow?向量在行方向上進行卷積;C=conv2(...,'shape')?用來指定?conv2?返回二維卷積結果部分,參數?shape?可取值如下:
》full?為缺省值,返回二維卷積的全部結果;
》same?返回二維卷積結果中與?A?大小相同的中間部分;
valid?返回在卷積過程中,未使用邊緣補?0?部分進行計算的卷積結果部分,當?size(A)>size(B)?時,size(C)=[Ma-Mb+1,Na-Nb+1]。
3.2?conv?函數
功能:計算多維卷積
格式:與?conv2?函數相同
3.3?filter2函數
功能:計算二維線型數字濾波,它與函數?fspecial?連用
格式:Y=filter2(B,X)
Y=filter2(B,X,'shape')
說明:對于?Y=filter2(B,X)?,filter2?使用矩陣?B?中的二維?FIR?濾波器對數據?X?進行濾波,結果?Y?是通過二維互相關計算出來的,其大小與?X?一樣;對于?Y=filter2(B,X,'shape')?,filter2?返回的?Y?是通過二維互相關計算出來的,其大小由參數?shape?確定,其取值如下:
》full?返回二維相關的全部結果,size(Y)>size(X);
》same?返回二維互相關結果的中間部分,Y?與?X?大小相同;
》valid?返回在二維互相關過程中,未使用邊緣補?0?部分進行計算的結果部分,有?size(Y)
3.4?fspecial?函數
功能:產生預定義濾波器
格式:H=fspecial(type)
H=fspecial('gaussian',n,sigma)?高斯低通濾波器
H=fspecial('sobel')?Sobel?水平邊緣增強濾波器
H=fspecial('prewitt')?Prewitt?水平邊緣增強濾波器
H=fspecial('laplacian',alpha)?近似二維拉普拉斯運算濾波器
H=fspecial('log',n,sigma)?高斯拉普拉斯(LoG)運算濾波器
H=fspecial('average',n)?均值濾波器
H=fspecial('unsharp',alpha)?模糊對比增強濾波器
說明:對于形式?H=fspecial(type)?,fspecial?函數產生一個由?type?指定的二維濾波器?H?,返回的?H?常與其它濾波器搭配使用。
總結
以上是生活随笔為你收集整理的matlab 滤掉高斯噪声吗,我想问一下:怎么用matlab编写函数对图像进行高斯滤波以去除噪声...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 调度quartz,java q
- 下一篇: 基于MATLAB的信号与系统实验指导,《