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

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

用表達(dá)式表達(dá):

擴(kuò)展到對整個圖像進(jìn)行均值濾波

實現(xiàn)方法:
處理結(jié)果=cv2.blur(原始圖像,核大小)
核大?。阂裕▽挾?,高度)的元祖
效果:使圖像變模糊啦。能處理被椒鹽攻擊過的照片。
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(原始圖像,目標(biāo)圖像深度,核大小,normalize屬性)
目標(biāo)圖像深度: int類型的目標(biāo)圖像深度,-1表示與原始圖像一致
核大小:(寬度,高度)元祖
normalize:是否對目標(biāo)圖像進(jìn)行歸一化處理
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)重高,越遠(yuǎ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()

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

實現(xiàn)方法:medianBlur
目標(biāo)圖像=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中selenium模塊的安裝和配置環(huán)境變量教程、提取數(shù)據(jù)操作、無頭模式,有需要的朋友可以借鑒參考下,希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2022-10-10
python字典與json轉(zhuǎn)換的方法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python字典與json轉(zhuǎn)換的方法總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-12-12
使用Python webdriver圖書館搶座自動預(yù)約的正確方法
這篇文章主要介紹了使用Python webdriver圖書館搶座自動預(yù)約的正確方法,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
使用grappelli為django admin后臺添加模板
本文介紹了一款非常流行的Django模板系統(tǒng)--grappelli,以及如何給Django的admin后臺添加模板,非常的實用,這里推薦給大家。2014-11-11
Python OpenCV學(xué)習(xí)之圖形繪制總結(jié)
在圖像的任務(wù)中,不管是圖像檢測還是圖像識別,我們都需要通過繪制圖形和繪制文字對處理的結(jié)果進(jìn)行說明,本篇就詳細(xì)介紹下OpenCV中的圖形的繪制,感興趣的可以了解一下2022-01-01最新評論

