opencv 圖像濾波(均值,方框,高斯,中值)
為什么要使用濾波
消除圖像中的噪聲成分叫作圖像的平滑化或濾波操作。信號或圖像的能量大部分集中在幅度譜的低頻和中頻段是很常見的,而在較高頻段,感興趣的信息經(jīng)常被噪聲淹沒。因此一個能降低高頻成分幅度的濾波器就能夠減弱噪聲的影響。
如下圖,左圖帶有椒鹽噪聲,右圖為使用中值濾波處理后的圖片。

圖像濾波的目的有兩個:一是抽出對象的特征作為圖像識別的特征模式;另一個是為適應(yīng)圖像處理的要求,消除圖像數(shù)字化時所混入的噪聲。
python +opencv講解
均值濾波
含義
如圖:如果我們想對紅色點進行處理,則它新值等于周圍N乘N個像素點的平均(包括自身)

用表達式表達:

擴展到對整個圖像進行均值濾波

實現(xiàn)方法:
處理結(jié)果=cv2.blur(原始圖像,核大小)
核大?。阂裕▽挾龋叨龋┑脑?br /> 效果:使圖像變模糊啦。能處理被椒鹽攻擊過的照片。
import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.blur(a,(8,8))
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

方框濾波
實現(xiàn)方法:函數(shù)boxFilter
處理結(jié)果=cv2.boxFilter(原始圖像,目標圖像深度,核大小,normalize屬性)
目標圖像深度: int類型的目標圖像深度,-1表示與原始圖像一致
核大?。海▽挾?,高度)元祖
normalize:是否對目標圖像進行歸一化處理
normalize為true 時與均值濾波一樣,為false時表示任意一個點的像素為周圍像素點的和,容易發(fā)生溢出超過255

normalize=1,1為true
import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.boxFilter(a,-1,(5,5),normalize=1)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()
結(jié)果:

normalize=0,0為false
結(jié)果中只有幾個點不是白色

減少核大小為(2,2)normalize=0

高斯濾波
含義:
中心點權(quán)重高,越遠越低

實現(xiàn)方法:GaussianBlur
處理結(jié)果=cv2.GaussianBlur(原始圖像src,核函數(shù)大小ksize,sigmaX)
核函數(shù)大小ksize:(N,N)必須是奇數(shù)
sigmaX:控制x方向方差,控制權(quán)重,一般取0,它自己去計算方差。y軸方差和x一致

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.GaussianBlur(a,(3,3),0)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

中值濾波
使用像素點鄰域附近的像素的中值代替該點的像素值。通俗點來說,在這個像素的左邊找五個像素點,右邊找五個像素點,將這些像素進行排序,排序過后產(chǎn)生一個中值,用中間大小的值,來代替該像素的值。
中值濾波可以有效的去除斑點和椒鹽噪聲。但是效率低,其運算時間 為均值濾波的五倍以上。

實現(xiàn)方法:medianBlur
目標圖像=cv2.medianBlur(原始圖像,intksize)
intksize:核函數(shù),必須為奇數(shù).
import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.medianBlur(a,5)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

到此這篇關(guān)于opencv 圖像濾波(均值,方框,高斯,中值)的文章就介紹到這了,更多相關(guān)opencv 圖像濾波內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解鎖Python中神器vars內(nèi)置函數(shù)的使用
vars()函數(shù)是一個內(nèi)置函數(shù),用于返回對象的__字典__,其中包含對象的__屬性__,本文主要為大家詳細介紹了vars()函數(shù)的具體使用,需要的小伙伴可以了解下2023-11-11
python?Sweetviz探索性數(shù)據(jù)可視化分析庫使用特征詳解
這篇文章主要為大家介紹了python?Sweetviz探索性數(shù)據(jù)可視化分析庫特征使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
python打包exe文件并隱藏執(zhí)行CMD命令窗口問題
這篇文章主要介紹了python打包exe文件并隱藏執(zhí)行CMD命令窗口問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

