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