我們以乙個二維矩陣表示二元高斯濾波器,顯然此二維矩陣的具體形式僅於其形狀(shape)有關:
def
gauss_filter
(kernel_shape):
為實現二維高斯濾波器,需要首先定義二元高斯函式:f(
x,y)
=12π
σ2exp(−x
2+y2
2σ2)
def
gauss
(x, y, sigma=3.):
z = 2*np.pi*sigma**2
return
1/z*np.exp(-(x**2+y**2)/2/sigma**2)
則可進一步給出高斯濾波的實現:
def
gauss_filters
(kernel_shape):
# kernel_shape 是乙個四元元組,各個元素分別表示:濾波器的寬,濾波器的高,濾波器的個數,1
kernels = np.zeros(kernel_shape, np.float32)
mid = np.floor(kernel_shape[0]/2)
for kernel_idx in range(kernel_shape[2]):
for i in range(kernel_shape[0]):
for j in range(kernel_shape[1]):
kernels[i, j, kernel_idx, 0] = gauss(i-mid, j-mid)
return kernels
深度理解高斯濾波器
高斯濾波器是一類根據高斯函式的形狀來選擇權值的線性平滑濾波器。高斯平滑濾波器對於抑 從正態分佈的雜訊非常有效。一維零均值高斯函式為 g x exp x 2 2 sigma 2 其中,高斯分布引數 sigma 決定了高斯函式的寬度。對於影象處理來說,常用二維零均值離散高斯函式作平滑濾波器。高斯函式具有...
高斯低通濾波器的理解
高斯低通濾波有頻域和時域 在用作光滑影象上,可以卷積,可以相乘 高斯濾波器寬度 決定著平滑程度 是由引數 表徵的,而且 和平滑程度的關係是非常簡單的。越大,高斯濾波器的頻帶就越寬,平滑程度就越好。通過調節平滑程度引數 可在影象特徵過分模糊 過平滑 與平滑影象中由於雜訊和細紋理所引起的過多的不希望突變...
MATLAB 高斯低通濾波器的實現
function image out glpf image in,d0 glpf為高斯低通濾波器,d0為截止頻率 輸入為需要進行高斯低通濾波的灰度影象,輸出為經過濾波之後的灰度影象 f image in f im2double f 1 給定一副大小為m n的輸入影象f x,y 得到填充引數p 2m,...