高斯衰減python實現(xiàn)方式
高斯衰減python實現(xiàn)
def get_score_time_weight(original, offset,scale,current_data): diff = current_data-original if math.fabs(diff) < offset: return 1 else: var_sqr = scale**2/(2*math.log(2)) return math.pow(math.e,-(math.fabs(diff)-offset)**2/(2*var_sqr))
效果如下:
對應(yīng)的實際計算公式正態(tài)分布概率密度函數(shù)去掉常數(shù)項為:
高斯濾波學(xué)習筆記
在圖像處理中,高斯濾波一般有兩種實現(xiàn)方式,一是用離散化窗口滑窗卷積,另一種通過傅里葉變換。最常見的就是第一種滑窗實現(xiàn),只有當離散化的窗口非常大,用滑窗計算量非常大(即使用可分離濾波器的實現(xiàn))的情況下,可能會考慮基于傅里葉變化的實現(xiàn)方法。
原理
圖像大多數(shù)噪聲均屬于高斯噪聲,因此高斯濾波器應(yīng)用也較廣泛。高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應(yīng)用于圖像去噪。
可以簡單地理解為,高斯濾波去噪就是對整幅圖像像素值進行加權(quán)平均,針對每一個像素點的值,都由其本身值和鄰域內(nèi)的其他像素值經(jīng)過加權(quán)平均后得到。
高斯濾波的具體操作是:用一個用戶指定的模板(或稱卷積、掩膜)去掃描圖像中的每一個像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點的值。
一維高斯分布:
二維高斯分布:
高斯模糊:
我們常說的高斯模糊就是使用高斯濾波器完成的,高斯模糊是低通濾波的一種,也就是濾波函數(shù)是低通高斯函數(shù),但是高斯濾波是指用高斯函數(shù)作為濾波函數(shù),至于是不是模糊,要看是高斯低通還是高斯高通,低通就是模糊,高通就是銳化。
濾波器是建立的一個數(shù)學(xué)模型,通過它來將圖像數(shù)據(jù)進行能量轉(zhuǎn)化,能量低的就排除掉,噪聲屬于低能量部分。編程運算的話就是一個模板運算,拿圖像的八連通區(qū)域來說,中間點的像素值就等于八連通區(qū)的像素值的均值,這樣達到平滑的效果。假如使用理想濾波器,則會在圖像中產(chǎn)生振鈴現(xiàn)象。如果采用高斯濾波器,系統(tǒng)函數(shù)為平滑的,避免了振鈴現(xiàn)象(圖像處理中,對一幅圖像進行濾波處理,若選用的頻域濾波器具有陡峭的變化,則會使濾波圖像產(chǎn)生“振鈴”,所謂“振鈴”,就是指輸出圖像的灰度劇烈變化處產(chǎn)生的震蕩,就好像鐘被敲擊后產(chǎn)生的空氣震蕩。).
理想濾波器是指能使通帶內(nèi)信號的幅值和相位都不失真,阻帶內(nèi)的頻率成分都衰減為零的濾波器,其通帶和阻帶之間有明顯的分界線。也就是說,理想濾波器在通帶內(nèi)的幅頻特性應(yīng)為常數(shù),相頻特性的斜率為常值;在通帶外的幅頻特性應(yīng)為零。
由于高斯函數(shù)的傅立葉變換仍是高斯函數(shù), 因此高斯函數(shù)能構(gòu)成一個在頻域具有平滑性能的低通濾波器??梢酝ㄟ^在頻域做乘積來實現(xiàn)高斯濾波。均值濾波是對信號進行局部平均, 以平均值來代表該像素點的灰度值。矩形濾波器(Averaging Box Filter)對這個二維矢量的每一個分量進行獨立的平滑處理。通過計算和轉(zhuǎn)化 ,得到一幅單位矢量圖。這個 512×512的矢量圖被劃分成一個 8×8的小區(qū)域 ,再在每一個小區(qū)域中 ,統(tǒng)計這個區(qū)域內(nèi)的主要方向 ,亦即將對該區(qū)域內(nèi)點方向數(shù)進行統(tǒng)計,最多的方向作為區(qū)域的主方向。于是就得到了一個新的64×64的矢量圖。這個新的矢量圖還可以采用一個 3×3模板進行進一步的平滑。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于PyTorch的permute和reshape/view的區(qū)別介紹
這篇文章主要介紹了基于PyTorch的permute和reshape/view的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python實現(xiàn)搜索Google Scholar論文信息的示例代碼
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)搜索Google Scholar論文信息的功能,文中的示例代碼講解詳細,需要的可以參考一下2023-03-03將python flask項目打包成可以運行的軟件的全過程(包含報錯解決)
這篇文章主要給大家介紹了將python flask項目打包成可以用運行的軟件(包含報錯解決),文中通過代碼示例和圖文結(jié)合講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-02-02Pytorch的安裝過程之pip、conda、Docker容器安裝
PyTorch是一個基于Python的開源深度學(xué)習框架,可用于訓(xùn)練和預(yù)測深度學(xué)習模型,PyTorch支持多種安裝方法,這篇文章主要介紹了Pytorch的安裝----pip、conda、Docker容器,需要的朋友可以參考下2023-04-04Python 中 Virtualenv 和 pip 的簡單用法詳解
本篇文章主要介紹了Python 中 Virtualenv 和 pip 的簡單用法詳解,具有一定的參考價值,有興趣的可以了解一下2017-08-08解決pycharm19.3.3安裝pyqt5找不到designer.exe和pyuic.exe的問題
這篇文章給大家介紹了pycharm19.3.3安裝pyqt5&pyqt5-tools后找不到designer.exe和pyuic.exe以及配置QTDesigner和PyUIC的問題,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-04-04對pandas讀取中文unicode的csv和添加行標題的方法詳解
今天小編就為大家分享一篇對pandas讀取中文unicode的csv和添加行標題的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12