【图像处理理论】高斯滤波

一.滤波基本概念

滤波通常是通过卷积或者相关来实现,线性滤波一般是卷积操作。
(1)卷积:

  1. 卷积核绕自己的核心元素顺时针旋转180度
  2. 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
  3. 在旋转后的卷积核中,将输入图像的像素值作为权重相乘
  4. 第三步各结果的和做为该输入像素对应的输出像素

(2)相关:

  1. 移动相关核的中心元素,使它位于输入图像待处理像素的正上方
  2. 将输入图像的像素值作为权重,乘以相关核
  3. 将上面各步得到的结果相加做为输出

因此上述两种操作主要的区别在于滤波器是否旋转,所以在我们的卷积神经网络中的运算更像是第二种。

二.高斯滤波

图像学中的噪声大致是指在像素值上的一个干扰信号导致原有的像素出现失真。高斯噪声是一种具有正态分布(或高斯分布)概率密度函数的噪声,高斯噪声的值遵循高斯分布或者它在各个频率分量上的能量具有高斯分布。它被极其普遍地应用为用以产生加成性高斯白噪声(AWGN)的迭代白噪声。
高斯滤波是一种线性平滑滤波,应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。也就是相当于使用周围的点对噪声点进行平滑处理,使噪声点的分布逐步趋于图像非噪声点的分布。
高斯滤波的具体操作:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

一维高斯分布
这里写图片描述
中心点在原点
这里写图片描述
二维高斯分布
这里写图片描述
高斯核
高斯分布在所有定义域上都有非负值,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可。假定中心点的坐标是(0,0),那么距离它最近的8个点的坐标如下:
这里写图片描述
假定σ=1.5,则模糊半径为1的权重矩阵如下:
这里写图片描述
模糊半径越大,细节保留越少,模糊程度越高(高斯模糊)。
但是从数学角度考虑,计算平均值时权重之和应该是1,这9个点的权重总和等于0.4787147,因此上面9个值还要分别除以0.4787147,得到最终的权重矩阵:
这里写图片描述
最后将9个像素值与权值矩阵分别相乘,相加作为中心点的高斯模糊的值。

3.代码实现

import cv2
import numpy as np
from scipy import ndimage

filename = 'lena.jpg'
img = cv2.imread(filename)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite('lena_gray.jpg', img_gray)

kernel_3_3 = np.array([
    [1, 2, 1],
    [2, 4, 2],
    [1, 2, 1]
])
kernel_5_5 = np.array([
    [1, 4, 7, 4, 1],
    [4, 16, 26, 16, 4],
    [7, 26, 41, 26, 7],
    [4, 16, 26, 16, 4],
    [1, 4, 7, 4, 1]
])

kernel_3_3 = kernel_3_3 / kernel_3_3.sum()
kernel_5_5 = kernel_5_5 / kernel_5_5.sum()

img = cv2.imread(filename, 0)
k3 = ndimage.convolve(img, kernel_3_3)
k5 = ndimage.convolve(img, kernel_5_5)

cv2.imshow('3x3', k3)
cv2.imshow('5x5', k5)
cv2.waitKey()

对于函数cv2.imread()的第二个参数1,0,-1,分别对应下面的三个参数:
1.cv2.IMREAD_COLOR:加载彩色图,是默认值
2.cv2.IMREAD_GRAYSCALE:加载灰度图
3.cv2.IMREAD_UNCHANGED:加载含有Alpha通道的图片

参考链接:
http://blog.csdn.net/sunmc1204953974/article/details/50634652
http://blog.csdn.net/L_inYi/article/details/8915116

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值