[Opencv]中值滤波(medianBlur)

OPENCV中的均值滤波、方框滤波、高斯滤波,都是线性滤波方式,由于线性滤波的结果是所有像素值的线性组合,因此含有噪声的像素也会被考虑进去,噪声不会被消除,而是以更柔和的方式存在。如果需要去除这些噪声,使用非线性滤波效果可能会更好。中值滤波采用邻域内所有像素值的中间值来替代当前像素点的像素值。

1.原理介绍

中值滤波会取当前像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值。

1.1.函数语法

在OpenCV中,实现中值滤波的函数是medianBlur,其语法格式如下:medianBlur(src,dst,ksize)

● dst是中值滤波后得到的处理图像

● src是需要处理的源图像。它能够有任意数量的通道,并能对各个通道独立处理。图像深度应该是CV_8U、CV_16U、CV_16S、CV_32F 或者 CV_64F中的一种。

● ksize 是滤波核的大小。滤波核大小是指在滤波处理过程中其邻域图像的高度和宽度。需要注意,核大小必须是比1大的奇数,比如3、5、7、9、11等。

1.2.举例

复制代码
原数据
97      95      94

93      78      90

66      91      101
中值滤波后的数据
97      95      94

93      93      90

66      91      101

如果将ksize设置为3,则其邻域为3×3。对3×3邻域内像素点的像素值进行排序,按升序排序后得到序列值为:[66,78,90,91,93,94,95,97,101]。在该序列中,处于中心位置(也叫中心点或中值点)的值是"93",因此用93替换像素值78作为当前点的新像素值。

1.3 其他

  • 中值滤波对噪声的消除效果比线性滤波好;
  • 随着滤波核的增大,图像也会变的模糊,并且处理的耗时也会越高;
相关推荐
小霖家的混江龙2 分钟前
不再费脑, 拆解 AI 的数学工具, 诠释函数, 向量, 矩阵和神经网络的关系
人工智能·llm·aigc
无心水1 小时前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
小鸡吃米…8 小时前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫8 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)8 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
saoys8 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
minhuan8 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维8 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS8 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd9 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪