久久精品人妻一区二区蜜桃-欧美精品人妻一区二区免费视频-久久精品免费一区二区喷潮-久久精品中文闷骚内射-精品bbw-精品久久无码中文字幕-小小水蜜桃3视频高清在线观看-日韩免费一级aaa片毛太久-欧美激情肉欲高潮无码鲁大师-欧美影片一区二区三区-亚洲精品无码av无码专区一本,波多野吉衣一区二区三区在线观看,囯精品人妻无码一区二区三区99,包哟哟在线观看免费观看

產(chǎn)品分類

當(dāng)前位置: 首頁(yè) > 工業(yè)電氣產(chǎn)品 > 高低壓電器 > 電加熱器 > 電阻加熱器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
電阻加熱器

OpenCV-Python系列之線性濾波

發(fā)布日期:2022-10-18 點(diǎn)擊率:69

本次教程將介紹幾種OpenCV常用的濾波器,將介紹它們?cè)敿?xì)的原理,圖像濾波對(duì)于OpenCV圖像處理來(lái)說(shuō)是至關(guān)重要的一環(huán),它在整個(gè)OpenCV中的分量是舉足輕重的,我們必須完全掌握它。

圖像濾波,即在盡量保留圖像細(xì)節(jié)特征的條件下對(duì)目標(biāo)圖像的噪聲進(jìn)行抑制,是圖像預(yù)處理中不可缺少的操作,其處理效果的好壞將直接影響到后續(xù)圖像處理和分析的有效性和可靠性。
  消除圖像中的噪聲成分叫作圖像的平滑化或?yàn)V波操作。信號(hào)或圖像的能量大部分集中在幅度譜的低頻和中頻段是很常見(jiàn)的,而在較高頻段,感興趣的信息經(jīng)常被噪聲淹沒(méi)。因此一個(gè)能降低高頻成分幅度的濾波器就能夠減弱噪聲的影響。

圖像濾波的目的有兩個(gè):

一是抽出對(duì)象的特征作為圖像識(shí)別的特征模式;

另一個(gè)是為適應(yīng)圖像處理的要求,消除圖像數(shù)字化時(shí)所混入的噪聲。
而對(duì)濾波處理的要求也有兩條:

一是不能損壞圖像的輪廓及邊緣等重要信息;

二是使圖像清晰視覺(jué)效果好。
平滑濾波是低頻增強(qiáng)的空間域?yàn)V波技術(shù)。它的目的有兩類:

一類是模糊;

一類是消除噪音。
  空間域的平滑濾波一般采用簡(jiǎn)單平均法進(jìn)行,就是求鄰近像元點(diǎn)的平均亮度值。鄰域的大小與平滑的效果直接相關(guān),鄰域越大平滑的效果越好,但鄰域過(guò)大,平滑會(huì)使邊緣信息損失的越大,從而使輸出的圖像變得模糊,因此需合理選擇鄰域的大小。
  關(guān)于濾波器,一種形象的比喻法是:我們可以把濾波器想象成一個(gè)包含加權(quán)系數(shù)的窗口,當(dāng)使用這個(gè)濾波器平滑處理圖像時(shí),就把這個(gè)窗口放到圖像之上,透過(guò)這個(gè)窗口來(lái)看我們得到的圖像。

原理

鄰域算子(局部算子)是利用給定像素周圍的像素值的決定此像素的最終輸出值的一種算子。而線性鄰域?yàn)V波是一種常用的鄰域算子,像素的輸出值取決于輸入像素的加權(quán)和,具體過(guò)程如下圖:

射頻, RF, 濾波

左邊圖像與中間圖像的卷積產(chǎn)生右邊圖像。目標(biāo)圖像中藍(lán)色標(biāo)記的像素是利用原圖像中紅色標(biāo)記的像素計(jì)算得到的。

鄰域算子除了用于局部色調(diào)調(diào)整以外,還可以用于圖像濾波,實(shí)現(xiàn)圖像的平滑和銳化,圖像邊緣增強(qiáng)或者圖像噪聲的去除。本篇文章,我們介紹的主角是線性鄰域?yàn)V波算子,即用不同的權(quán)重去結(jié)合一個(gè)小鄰域內(nèi)的像素,來(lái)得到應(yīng)有的處理效果。

線性濾波處理的輸出像素值射頻, RF, 濾波是輸入像素值<img alt="射頻," rf,="" 濾波"="" data-cke-saved-src="https://upload.semidata.info/sns.eefocus.com/rf/article/media/2022/08/05/360411.png" src="https://upload.semidata.info/sns.eefocus.com/rf/article/media/2022/08/05/360411.png">的加權(quán)和 :

射頻, RF, 濾波

其中的加權(quán)和我們稱其為“核”,濾波器的加權(quán)系數(shù),即濾波器的“濾波系數(shù)”。

上面的式子可以簡(jiǎn)單寫作:

射頻, RF, 濾波

其中f表示輸入像素值,h表示加權(quán)系數(shù)“核“,g表示輸出像素值

在新版本的OpenCV中,提供了如下三種常用的線性濾波操作,他們分別被封裝在單獨(dú)的函數(shù)中,使用起來(lái)非常方便: 

1     均值濾波——blur函數(shù)

2     方框?yàn)V波——boxblur函數(shù)

3     高斯濾波——GaussianBlur函數(shù)

均值濾波器

均值濾波器是一種低通濾波器,也是線性濾波器。對(duì)于一幅圖像,我們都知道其像素值在0-255,通常來(lái)講,濾波器所用的一個(gè)濾波模板都為奇數(shù),這里我們以3*3為例:

射頻, RF, 濾波

中間黃色部分即為濾波器的模板(卷積核),其將用于與圖像進(jìn)行卷積進(jìn)而濾波,對(duì)于均值濾波器,顧名思義,其像素點(diǎn)為中間九個(gè)像素值的均值,從而將整個(gè)圖像的像素用這個(gè)均值像素代替:

射頻, RF, 濾波

函數(shù)原型:
       dst=cv.blur(src,ksize [,dst [,anchor [,borderType]]])

其中第一個(gè)參數(shù)為輸入的圖像,第二個(gè)參數(shù)為卷積核的大小,后面的我們都采用默認(rèn)值就可以。

給出示例代碼:

 

view plaincopy to clipboardprint?

import cv2  

 

import matplotlib.pyplot as plt  

import numpy as np  

  

img = cv2.imread("cat.jpg")  

blur = cv2.blur(img,(5,5))  

cv2.imshow("org",img)  

cv2.imshow("result", blur)  

cv2.waitKey(0)  

cv2.destroyAllWindows()  

射頻, RF, 濾波

缺陷:均值濾波本身存在著固有的缺陷,即它不能很好地保護(hù)圖像細(xì)節(jié),在圖像去噪的同時(shí)也破壞了圖像的細(xì)節(jié)部分,從而使圖像變得模糊,不能很好地去除噪聲點(diǎn)。特別是椒鹽噪聲

方框?yàn)V波器

事實(shí)上,方框?yàn)V波器與均值濾波器是基本上一樣的,我們直接看源碼:

 

view plaincopy to clipboardprint?

import cv2  

 

import matplotlib.pyplot as plt  

import numpy as np  

  

img = cv2.imread("shu.jpg")  

blur = cv2.boxFilter(img,-1,(3,3),normalize=False)  

cv2.imshow("org",img)  

cv2.imshow("result", blur)  

cv2.waitKey(0)  

cv2.destroyAllWindows()  

 

boxFilter則為i方框?yàn)V波函數(shù),當(dāng)

 

view plaincopy to clipboardprint?

normalize=True  

 

它就完全相當(dāng)于是一個(gè)均值濾波器,濾波像素值計(jì)算方法也是均值計(jì)算,如圖:

射頻, RF, 濾波

但是當(dāng)

 

view plaincopy to clipboardprint?

normalize=False  

 

其并非均值,而是卷積核中所有的像素值相加,不除9,那么對(duì)于大于255的值,它會(huì)全取255進(jìn)行代替,如圖:

射頻, RF, 濾波

高斯濾波

高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應(yīng)用于圖像處理的減噪過(guò)程。通俗的講,高斯濾波就是對(duì)整幅圖像進(jìn)行加權(quán)平均的過(guò)程,每一個(gè)像素點(diǎn)的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過(guò)加權(quán)平均后得到。高斯濾波的具體操作是:用一個(gè)模板(或稱卷積、掩模)掃描圖像中的每一個(gè)像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點(diǎn)的值

先來(lái)了解一下高斯函數(shù),高斯分布函數(shù)指的就是概率論中的正態(tài)分布的概率密度函數(shù),均值μ=0時(shí)的一維形式和二維形式如下。 其中σ為正態(tài)分布的標(biāo)準(zhǔn)偏差,其值決定了函數(shù)的衰減快慢。

射頻, RF, 濾波

射頻, RF, 濾波

從這兩個(gè)公式不難看出,二維公式其實(shí)等于兩個(gè)一維函數(shù)相乘。從概率論角度看,因?yàn)殡S機(jī)變量X,Y是相互獨(dú)立的,那么他們的聯(lián)合概率密度就等于邊緣概率密度之積。這個(gè)特性是非常重要的,現(xiàn)在讓我們先看一下高斯函數(shù)的圖像分布與二維高斯卷積核的樣子:

射頻, RF, 濾波

射頻, RF, 濾波

圖像上,靠近原點(diǎn)的位置地勢(shì)高,距離原點(diǎn)越遠(yuǎn)則地勢(shì)越低。相應(yīng)地,卷積核也是中心數(shù)值最大,并向四周減小,減小的幅度并不是隨意的,而是要求整個(gè)卷積核近似高斯函數(shù)的圖像。由于高斯濾波實(shí)質(zhì)是一種加權(quán)平均濾波,為了實(shí)現(xiàn)平均,核還帶有一個(gè)系數(shù),例如上圖中的十六分之一、八十四分之一,這些系數(shù)等于矩陣中所有數(shù)值之和的倒數(shù)。

可能有人看不太懂,我簡(jiǎn)單解釋一下高斯濾波的原理,以下面那個(gè)數(shù)字圖為例:

射頻, RF, 濾波

假設(shè)中間的204為中心點(diǎn),高斯濾波的原理就是距離中心點(diǎn)最近其權(quán)重系數(shù)越大,就類似這樣一個(gè)圖:

射頻, RF, 濾波

那么距離204越近則其權(quán)重系數(shù)越大,它跟均值濾波還是有很大不同的,均值濾波對(duì)于204周圍的75和24這兩個(gè)較小值非常的不友好,會(huì)導(dǎo)致誤差較大。但是高斯濾波表示,離我近的,吃嘛嘛香,離我遠(yuǎn)的,說(shuō)話分量就沒(méi)有那么重了,不管你值有多大或者多小。我們看一下函數(shù)原型:

GaussianBlur(src,ksize,sigmaX [,dst [,sigmaY [,borderType]]])-> dst

——src輸入圖像;圖像可以具有任意數(shù)量的通道,這些通道可以獨(dú)立處理,但深度應(yīng)為CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。

——dst輸出圖像的大小和類型與src相同。

——ksize高斯內(nèi)核大小。 ksize.width和ksize.height可以不同,但它們都必須為正數(shù)和奇數(shù),也可以為零,然后根據(jù)sigma計(jì)算得出。

——sigmaX X方向上的高斯核標(biāo)準(zhǔn)偏差。

——sigmaY Y方向上的高斯核標(biāo)準(zhǔn)差;如果sigmaY為零,則將其設(shè)置為等于sigmaX;如果兩個(gè)sigmas為零,則分別從ksize.width和ksize.height計(jì)算得出;為了完全控制結(jié)果,而不管將來(lái)可能對(duì)所有這些語(yǔ)義進(jìn)行的修改,建議指定所有ksize,sigmaX和sigmaY。

我們來(lái)看代碼:

 

view plaincopy to clipboardprint?

import cv2  

 

import matplotlib.pyplot as plt  

import numpy as np  

  

img = cv2.imread("shu.jpg")  

blur =  cv2.GaussianBlur(img,(3,3),0)  

cv2.imshow("org",img)  

cv2.imshow("result", blur)  

cv2.waitKey(0)  

cv2.destroyAllWindows()  

射頻, RF, 濾波

我們可以看到,三種線性濾波器都無(wú)法很好的去除圖片中的椒鹽噪聲,而要想去除椒鹽噪聲,我們需要用非線性濾波器,這將在下次介紹。現(xiàn)在我們來(lái)總結(jié)一下這三種濾波器:

射頻, RF, 濾波

 

下一篇: PLC、DCS、FCS三大控

上一篇: 一款應(yīng)用于Wi-Fi?6E設(shè)

推薦產(chǎn)品

更多