网站首页 > 技术文章 正文
3种线性滤波:方框滤波、均值滤波、高斯滤波
高斯滤波:
1.定义
图像滤波,即在尽量保留图像细节特征的条件下对噪声进行抑制,通过抑制高频段来减少噪音,同时会造成图像一定程度上的模糊,这也叫做平滑或者低通滤波器;进行平滑时,邻域内不同位置的像素被赋予不同的权值,对图像进行平滑的同时,同时能够更多的保留图像的总体灰度分布特征。
在这里插入图片描述
在这里插入图片描述
对于高斯核主要有两个参数:高斯核的大小、离散程度σ。
可以知道:为了尽可能的平滑,高斯核应该越大越好,但是对于3σ之外的值,其影响已经不是很大了,所以一般对于其边缘的值小于3σ,一般其大小是2*k+1,为奇数,此时中心点就是(k+1,k+1),然后代入上面公式,分别求得每个位置的值,可以看到因为不是无限大,所以其和应该是略小于1,所以有的时候,在计算的时候不是除以2xpixσ,而是分别求出来,再相加作为分母,这样其和就是1了,具体情况具体分析,效果差不多!
注:k+1是默认下标从1开始的。
在这里插入图片描述
2.高斯滤波手动实现代码:
# -*- coding: utf-8 -*-
"""
Created on Sat Jul 11 14:53:28 2020
@author: 陨星落云
"""
import imageio
import numpy as np
def GaussianFilter(img):
h,w,c = img.shape
# 高斯滤波
K_size = 3
sigma = 1
# 零填充
pad = K_size//2
out = np.zeros((h + 2*pad,w + 2*pad,c),dtype=np.float)
out[pad:pad+h,pad:pad+w] = img.copy().astype(np.float)
# 定义滤波核
K = np.zeros((K_size,K_size),dtype=np.float)
for x in range(-pad,-pad+K_size):
for y in range(-pad,-pad+K_size):
K[y+pad,x+pad] = np.exp(-(x**2+y**2)/(2*(sigma**2)))
K /= (sigma*np.sqrt(2*np.pi))
K /= K.sum()
# 卷积的过程
tmp = out.copy()
for y in range(h):
for x in range(w):
for ci in range(c):
out[pad+y,pad+x,ci] = np.sum(K*tmp[y:y+K_size,x:x+K_size,ci])
out = out[pad:pad+h,pad:pad+w].astype(np.uint8)
return out
if __name__ == "__main__":
# 读取图像
img = imageio.imread("lena.jpg")
# 高斯滤波
imageio.imsave("GaussianFilter.jpg",GaussianFilter(img))
3.窗口大小以及标准差的影响
https://blog.shinelee.me/2018/09-19-%E5%A6%82%E4%BD%95%E7%A1%AE%E5%AE%9A%E9%AB%98%E6%96%AF%E6%BB%A4%E6%B3%A2%E7%9A%84%E6%A0%87%E5%87%86%E5%B7%AE%E5%92%8C%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F.html
均值滤波:
均值滤波是空间域线性滤波器,其中所得到的图像中的每个像素具有的值等于其邻近的像素的输入图像中的平均值。它是低通(“模糊”)滤波器的一种形式。
在这里插入图片描述
方框滤波:
方框滤波所用到的核:
在这里插入图片描述
当normalize为true时,方框滤波也就成了均值滤波。也就是说均值滤波是方框滤波归一化后的特殊情况。
归一化就是将要处理的量缩放到一定范围,比如(0,1)。
(函数解析均在后文中统一提供) 注:一般就是均值滤波!!!我感觉
2种非线性滤波:中值滤波、双边滤波
中值滤波
中值滤波的基本思想是用像素点邻域灰度值的中值来代替该像素的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时还能保留图像的细节部分。 中值滤波花费的时间比均值滤波更久,但其在噪声的消除能力上更强。 注:直接看图就明白了。
在这里插入图片描述
双边滤波
双边滤波是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保留边缘且去除噪声的目的。
在这里插入图片描述
注:暂定!!!!!!!!!!!
Sobel算子
sobel算子的思想,Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。 sobel算子的原理,对传进来的图像像素做卷积,卷积的实质是在求梯度值,或者说给了一个加权平均,其中权值就是所谓的卷积核;然后对生成的新像素灰度值做阈值运算,以此来确定边缘信息。 若Gx是对原图x方向上的卷积,Gy是对原图y方向上的卷积;
在这里插入图片描述
原图中的作用点像素值通过卷积之后为:
在这里插入图片描述
可以简化成:
在这里插入图片描述
另外,卷积核也可以旋转,用与查找不与x,y轴平行或垂直的方向上的边缘。
在这里插入图片描述
在这里插入图片描述
猜你喜欢
- 2024-10-23 深入浅出讲解卡尔曼滤波(附Matlab程序)
- 2024-10-23 滤波器的补充知识 滤波器的用法
- 2024-10-23 中值滤波原理及其C++实现与CUDA优化
- 2024-10-23 「技术控」基础向:点云数据处理之滤波(二)
- 2024-10-23 RC有源低通滤波器的一阶二阶原理分析及其推导!
- 2024-10-23 非常详细的滤波器基础知识 滤波器的原理和使用方法
- 2024-10-23 巴特沃斯滤波器 巴特沃斯滤波器截止频率计算
- 2024-10-23 Savitzky-Golay滤波函数 saw滤波器
- 2024-10-23 西门子SCL编程实例——中位值滤波算法
- 2024-10-23 一文读懂四种频率滤波器:低通、高通、带通、带阻的原理及C代码
你 发表评论:
欢迎- 最近发表
-
- 吴谨言专访大反转!痛批耍大牌后竟翻红,六公主七连发力显真诚
- 港股2月28日物业股涨幅榜:CHINAOVSPPT涨1.72%位居首位
- 港股2月28日物业股午盘:CHINAOVSPPT涨1.72%位居首位
- 港股3月2日物业股涨幅榜:CHINAOVSPPT涨1.03%位居首位
- 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%
- 天赋与心痛的背后:邓鸣贺成长悲剧引发的深刻反思
- 冯小刚女儿徐朵追星范丞丞 同框合照曝光惹人羡,回应网友尽显亲民
- “资本大佬”王冉:51岁娶小17岁童瑶,并承诺余生为娇妻保驾护航
- 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%位居首位
- 「IT之家开箱」vivo S15 图赏:双镜云窗,盛夏风光
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)