二維高斯濾波器(gauss filter)的實現

2021-07-29 12:11:03 字數 835 閱讀 1550

我們以乙個二維矩陣表示二元高斯濾波器,顯然此二維矩陣的具體形式僅於其形狀(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,...