成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

阮一峰:高斯模糊的算法

開發(fā) 后端 開發(fā)工具 算法
本文介紹"高斯模糊"的算法,你會(huì)看到這是一個(gè)非常簡單易懂的算法。本質(zhì)上,它是一種數(shù)據(jù)平滑技術(shù)(data smoothing),適用于多個(gè)場合,圖像處理恰好提供了一個(gè)直觀的應(yīng)用實(shí)例。

通常,圖像處理軟件會(huì)提供"模糊"(blur)濾鏡,使圖片產(chǎn)生模糊的效果。

"模糊"的算法有很多種,其中有一種叫做"高斯模糊"(Gaussian Blur)。它將正態(tài)分布(又名"高斯分布")用于圖像處理。

本文介紹"高斯模糊"的算法,你會(huì)看到這是一個(gè)非常簡單易懂的算法。本質(zhì)上,它是一種數(shù)據(jù)平滑技術(shù)(data smoothing),適用于多個(gè)場合,圖像處理恰好提供了一個(gè)直觀的應(yīng)用實(shí)例。

一、高斯模糊的原理

所謂"模糊",可以理解成每一個(gè)像素都取周邊像素的平均值。

上圖中,2是中間點(diǎn),周邊點(diǎn)都是1。

"中間點(diǎn)"取"周圍點(diǎn)"的平均值,就會(huì)變成1。在數(shù)值上,這是一種"平滑化"。在圖形上,就相當(dāng)于產(chǎn)生"模糊"效果,"中間點(diǎn)"失去細(xì)節(jié)。

顯然,計(jì)算平均值時(shí),取值范圍最大,"模糊效果"越強(qiáng)烈。

上面分別是原圖、模糊半徑 3 像素、模糊半徑 10 像素的效果。模糊半徑越大,圖像就越模糊。從數(shù)值角度看,就是數(shù)值越平滑。

接下來的問題就是,既然每個(gè)點(diǎn)都要取周邊像素的平均值,那么應(yīng)該如何分配權(quán)重呢?

如果使用簡單平均,顯然不是很合理,因?yàn)閳D像都是連續(xù)的,越靠近的點(diǎn)關(guān)系越密切,越遠(yuǎn)離的點(diǎn)關(guān)系越疏遠(yuǎn)。因此,加權(quán)平均更合理,距離越近的點(diǎn)權(quán)重越大,距離越遠(yuǎn)的點(diǎn)權(quán)重越小。

二、正態(tài)分布的權(quán)重

正態(tài)分布顯然是一種可取的權(quán)重分配模式。

在圖形上,正態(tài)分布是一種鐘形曲線,越接近中心,取值越大,越遠(yuǎn)離中心,取值越小。

計(jì)算平均值的時(shí)候,我們只需要將"中心點(diǎn)"作為原點(diǎn),其他點(diǎn)按照其在正態(tài)曲線上的位置,分配權(quán)重,就可以得到一個(gè)加權(quán)平均值。

三、高斯函數(shù)

上面的正態(tài)分布是一維的,圖像都是二維的,所以我們需要二維的正態(tài)分布。

正態(tài)分布的密度函數(shù)叫做"高斯函數(shù)"(Gaussian function)。它的一維形式是:

其中,μ是x的均值,σ是x的方差。因?yàn)橛?jì)算平均值的時(shí)候,中心點(diǎn)就是原點(diǎn),所以μ等于0。

根據(jù)一維高斯函數(shù),可以推導(dǎo)得到二維高斯函數(shù):

有了這個(gè)函數(shù) ,就可以計(jì)算每個(gè)點(diǎn)的權(quán)重了。

四、權(quán)重矩陣

假定中心點(diǎn)的坐標(biāo)是(0,0),那么距離它最近的 8 個(gè)點(diǎn)的坐標(biāo)如下:

[[98012]]

更遠(yuǎn)的點(diǎn)以此類推。

為了計(jì)算權(quán)重矩陣,需要設(shè)定σ的值。假定σ=1.5,則模糊半徑為 1 的權(quán)重矩陣如下:

這 9 個(gè)點(diǎn)的權(quán)重總和等于0.4787147,如果只計(jì)算這 9 個(gè)點(diǎn)的加權(quán)平均,還必須讓它們的權(quán)重之和等于1,因此上面 9 個(gè)值還要分別除以0.4787147,得到最終的權(quán)重矩陣。

五、計(jì)算高斯模糊

有了權(quán)重矩陣,就可以計(jì)算高斯模糊的值了。

假設(shè)現(xiàn)有 9 個(gè)像素點(diǎn),灰度值(0-255)如下:

每個(gè)點(diǎn)乘以自己的權(quán)重值:

得到

將這 9 個(gè)值加起來,就是中心點(diǎn)的高斯模糊的值。

對(duì)所有點(diǎn)重復(fù)這個(gè)過程,就得到了高斯模糊后的圖像。如果原圖是彩色圖片,可以對(duì) RGB 三個(gè)通道分別做高斯模糊。

六、邊界點(diǎn)的處理

如果一個(gè)點(diǎn)處于邊界,周邊沒有足夠的點(diǎn),怎么辦?

一個(gè)變通方法,就是把已有的點(diǎn)拷貝到另一面的對(duì)應(yīng)位置,模擬出完整的矩陣。

原文鏈接:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

責(zé)任編輯:林師授 來源: 阮一峰博客
相關(guān)推薦

2015-10-08 08:44:23

阮一峰Github清點(diǎn)對(duì)象

2011-12-05 10:44:38

inodeLinux文件系統(tǒng)

2015-11-13 11:33:39

阮一峰ecmascript

2015-11-02 19:11:27

阮一峰javascript循環(huán)加載

2015-09-17 15:23:56

阮一峰網(wǎng)頁性能

2015-09-06 10:34:54

蒙特卡洛阮一峰

2015-09-24 09:43:08

阮一峰持續(xù)集成

2015-09-18 15:21:33

求職就業(yè)創(chuàng)業(yè)阮一峰

2017-04-13 10:03:29

Java高斯模糊圖像

2015-09-29 08:51:59

內(nèi)存地址主引導(dǎo)

2016-08-30 21:36:56

JavascriptCSSWeb

2017-01-17 16:45:35

githubinstagramandroid

2023-09-26 21:53:27

Java圖像處理

2009-12-25 14:18:06

預(yù)讀算法

2024-10-10 16:02:34

2021-12-16 06:52:33

Flex屬性布局

2024-05-15 17:35:52

AI算法

2023-10-07 09:00:00

人臉檢測Web應(yīng)用程序

2021-09-13 16:40:30

Java C 語言游戲

2009-08-11 13:20:45

高斯消元法C#算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久亚洲一区 | 成人福利影院 | 天天搞夜夜操 | 一级全黄视频 | 三级黄色片在线观看 | 亚洲欧美日韩一区二区 | 超碰97人人人人人蜜桃 | jav成人av免费播放 | 国产精品视频一区二区三区 | 日韩在线综合 | 国产精品亚洲视频 | 久久亚洲一区 | 日本精品国产 | 亚洲天堂成人在线视频 | 国产精品视频播放 | 国产高清精品一区二区三区 | 国产精品久久久久久妇女6080 | 国产精品欧美一区二区三区不卡 | 国产一区二区观看 | 欧美综合一区二区三区 | 日韩一区二区三区在线 | 人人色视频 | 午夜精品久久久久久久星辰影院 | www97影院 | 在线成人av| 精品无码三级在线观看视频 | 日韩欧美国产综合 | 国产精品久久久久久久久久久久冷 | 国产在线一区二区三区 | 麻豆久久久久久 | 免费久 | 成人在线精品视频 | 亚洲一级毛片 | 久久国产精品视频免费看 | 成人精品鲁一区一区二区 | 欧美综合久久 | 91精品国产乱码久久蜜臀 | 日本三级电影在线观看视频 | 国产精品一区网站 | 国产精品a级| 亚洲人成在线播放 |