對photoshop高斯模糊濾鏡的演算法總結:
python計算機視覺3:模糊,平滑,去噪:
影象的模糊和平滑是同乙個層面的意思,平滑的過程就是乙個模糊的過程。
而影象的去噪可以通過影象的模糊、平滑來實現(影象去噪還有其他的方法)
那麼怎麼才能對一幅影象進行模糊平滑呢?
影象的模糊平滑是對影象矩陣進行平均的過程。相比於影象銳化(微分過程),影象平滑處理是乙個積分的過程。
影象平滑過程可以通過原影象和乙個積分運算元進行卷積來實現。
全1運算元最簡單的積分運算元就是全1運算元
高斯運算元利用高斯運算元進行模糊處理就是我們常聽到的高斯模糊。
標準差為σ的高斯分布如下式
我們可以通過numpy模組的fromfunction()方法來生成高斯運算元,**及結果如下:
import numpy as np
# 乘以100是為了使運算元中的數便於觀察
# sigma指定高斯運算元的標準差
def func(x,y,sigma=1):
return 100*(1/(2*np.pi*sigma))*np.exp(-((x-2)**2+(y-2)**2)/(2.0*sigma**2))
# 生成標準差都2的5*5高斯運算元
a = np.fromfunction(func,(5,5),sigma=2)
print(a)
'''結果:
[[ 2.92749158 4.25947511 4.82661763 4.25947511 2.92749158]
[ 4.25947511 6.19749972 7.02268722 6.19749972 4.25947511]
[ 4.82661763 7.02268722 7.95774715 7.02268722 4.82661763]
[ 4.25947511 6.19749972 7.02268722 6.19749972 4.25947511]
[ 2.92749158 4.25947511 4.82661763 4.25947511 2.92749158]]
'''
對上面的5*5高斯運算元每個元素進行四捨五入,可以得到下面矩陣
看到有些地方直接用上面的矩陣對影象進行高斯模糊,實際上是運用的是標準差為2的高斯近似運算元。
高斯模糊 理論
高斯分布函式可表示為乙個一維的函式g x 或者乙個二維的函式g x,y 在這些函式中,x和y代表了相對於原始中心點 center tap 畫素的偏移 pixel offsets 值。也就是說,他們距離中心多少畫素。這裡的center tap,通常翻譯為 中心抽頭 它在電學中的概念是 在整個次級線圈的...
Opencv之高斯模糊
一 高斯模糊 二 實驗 這裡 高斯模糊本質上是低通濾波器,輸出影象的每個畫素點是原影象上對應畫素點與周圍畫素點的加權和,原理並不複雜。做久了卷積神經網路看這個分外親切,就是用高斯分布權值矩陣與原始影象矩陣做卷積運算而已。摘錄wiki上兩段原文 數學上講,對影象做高斯模糊等同於將影象與高斯函式卷積。由...
opencv學習筆記(8)高斯雜訊與高斯模糊
常見的雜訊 高斯 泊松和椒鹽雜訊 大學本科階段,大二左右一般都會教的,對這個不了解可以出門右轉補一下課,可能會方便後續的理解。1.對於np.random.normal有疑問的可以參考這篇部落格 侵刪 python中的np.random.normal 2.np.clip x,a min,a max 相...