中值滤波(一)
1.首先我们要知道中值滤波是什么?
首先,中值滤波对于图片来说的一个降噪操作,此处讲解矩阵已经拉平为一维的情况。(具体含义后续在下一个图片中值中解释,此处例子为一个数组)
2.中值滤波核心是什么?具体是怎么进行的?
中值滤波会设定一个窗口值,也就是在滑动窗口的时候,窗口大小。那么这个中值是怎么进行的。
步骤:
1.确定窗口大小, 因为窗口是奇数,必然能找到中间的数。
2.从第一个数开始,每一个数都会作为最中间的数,前后为窗口数一半,总共构成窗口大小的值。
3.然后进行排序,一半是升序,选取窗口数最中间的中位数依次替换原始值。
注意点:
第一点:窗口大小只能是奇数,因为这样才能找到最中间的值,也就是中位数。
第二点:在选定窗口大小的值之内,需要进行排序,通常是以升序来进行排序。
第三点:中值滤波默认窗口以外的值以0填充进行排序。
3.代码展示以及图片解释。(此处采用的是python中的scipy的signal,如果没有安装scipy的同学也可以直接安装)
【python的第三方库比较简单,一句话就可以【pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple/】】
中值滤波因为第三方库的原因,也是比较简单的,已经将核心都封装为了函数。
from scipy import signal import numpy as np window_size = 5 signal_data = np.array([1, 5, 2, 8, 4, 6, 7, 3, 9, 2, 5, 9, 8, 8, 4]) filtered_data1 = signal.medfilt(signal_data, kernel_size=window_size) print(signal_data) print(filtered_data1) # Output:[1 2 4 5 6 6 6 6 5 5 8 8 8 8 4]
图画解说:
本文来自博客园,作者:许个未来—,转载请注明原文链接:https://www.cnblogs.com/future-panda/p/17777138.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2022-10-20 机器学习之特征提取(二)——字典类型特征提取(特征离散化)
2022-10-20 机器学习之特征提取(一)—— CountVectorizer文本特征提取
2022-10-20 机器学习中用随机森林(决策树)预测缺失值