中值滤波器的matlab实现
生活随笔
收集整理的這篇文章主要介紹了
中值滤波器的matlab实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
中值濾波器能夠有效降低圖像中的椒鹽噪聲,其中在matlab中可以使用兩種方式實現,操作過程如下
首先載入沒有噪聲的待處理圖像,
原圖如下
用imnoise函數加入椒鹽噪聲
下圖為加入椒鹽噪聲的圖像
使用medfilt2進行中值濾波,medfilt2的通用的形式為
g=medfilt2(f,[m n], padopt)
矩陣[m n]為濾波器的大小,默認值為3X3,padopt為圖像邊緣的填充方式,默認為0填充
使用默認值對擁有椒鹽噪聲的圖像進行中值濾波
下圖為進行中值濾波后的圖像
我們從上圖中可以看到,使用medfilt2的默認值進行中值濾波后大部分的黑白椒鹽噪聲都被去除,但是還殘留這少部分的黑白椒鹽噪聲,將濾波器的矩陣擴大
從上圖中我們可以看到將中值濾波器的矩陣設置成5X5后,幾乎所有的黑白椒鹽噪聲都被去除,效果十分理想。
————————————————————————
在matlab中還可以通過j計算排序統計濾波器ordfit2函數實現中值濾波,語法為:
g=ordfilt2(f,(mn)/2,ones(m,n))
其中(mn)/2是計算排隊序列中的中間值的索引(m、n為奇數),如果此值為1,則為最小濾波器,如果此值為m*n,則為最大濾波器,ones(m,n)指的是領域中所有的值都參與排序
(csdn顯示格式有問題,不能識別m * n)
總結
以上是生活随笔為你收集整理的中值滤波器的matlab实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux vi 替换字符串,vi字符串
- 下一篇: 进度计划中的时间相关术语