中值滤波器

article/2025/8/27 16:45:21

我们前面提到,使用平均操作或加权平均操作可以降低图像的噪声,并由此引出了空间滤波器的概念。

这种平均操作或加权平均操作的空间滤波器,根据平均操作的特点,可以叫做均值滤波器。均值,就是平均值得意思。我们在《统计学-掌握数据的总体状态》 中知道,对数据的统计有平均值,还可以有中位数。例如一组数:50,60,17,6,80,90,25。其平均值是:(50+60+17+6+80+90+25)/=46.86。而中位数就是将数据排序,取最中间的值。从小到大排序是:6,17,25,56,60,80,90,中位数是56。

那么我们可不可以取图像中像素点领域区域的中位数的值来代替这个像素点的值呢?而不是领域区域的平均值。

相对于均值滤波器,这种滤波器称为中值滤波器。因为中位数的值又称为中值。

我们来看看效果,下图是一张被椒盐噪声污染后的电路板图像(图像来自冈萨雷斯的《数字图像处理》)。

这里写图片描述

这里直接使用了opencv的均值模糊和中值模糊函数。

import cv2board_saltpep = cv2.imread("board_saltpep.tif", 0)mean_blur = cv2.blur(board_saltpep, (3, 3))
median_blur = cv2.medianBlur(board_saltpep, 3)cv2.imshow("mean_blur", mean_blur)
cv2.imshow("median_blur", median_blur)
cv2.waitKey()

输出结果:
这里写图片描述

可以看出,中值滤波比均值滤波效果要好的多。一般对于椒盐噪声来说,中值滤波器的使用非常有效,要比均值滤波更适合于去除椒盐噪声。这是因为均值滤波时,将噪声点成分放入了平均计算中,所以输出受到了噪声的影响;而中值滤波中,椒盐噪声的值要么是0,要么是255,在区域中选中位数的话,根本就选不上,所以在过滤椒盐噪声时能够有更好的效果。

那么既然有均值滤波器、中值滤波器,很自然的就能想到能不能用最大值、最小值做滤波器,这当然是可以的。可以推断,最大值滤波器选用的是领域区域中的最大亮度值,那么对于胡椒噪声(黑点),显然具有较好的过滤性;最小值滤波器选用的是领域区域中的最小亮度值,那么对于盐粒噪声(白点),显然具有较好的过滤性。

当然,你能很快推断出最大值滤波器对盐粒噪声效果不好,最小值滤波器对胡椒噪声效果不好。那既然是这样,直接用中值滤波器就好了。事实上中值滤波器比最大值滤波器和最小值滤波器使用广泛的多。在opencv中甚至都没有关于最大值滤波器和最小值滤波器的函数。

中值滤波器、最大值滤波器、最小值滤波器等这类利用了统计特性的滤波器统称为统计排序滤波器


http://chatgpt.dhexx.cn/article/TFNEXnm3.shtml

相关文章

C Primer Plus 第1章 初识C语言 笔记

C语言的起源 1972年,贝尔实验室的丹尼斯里奇(Dennis Ritch)和肯汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。 选择C语言的理由 用C语言编写的程序更易懂、更可靠。C语言充分利用了当前计算机的优势&…

C语言 基于结构体的程序设计(PTA)

一、实验目的 1.掌握C语言中结构体类型的定义和结构体变量的定义和引用。 2.掌握用结构指针传递结构数据的方法。 二、实验内容 1、 计算职工工资 给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输…

C语言学习笔记(kk-zkx)

前言 流行的编程语言编程语言的大致发展历程编程语言应用数据在内存中的储存程序载入内存ASCII编码GB2312和GBKUnicode字符集(统一码,万国码)就业坑,当心 编程语言:用来控制计算机,让计算机为我们做事情的语…

C语言简介--学前必备知识

关键字 32个关键字: C和C的关系 C 主要在C语言的基础上增加了面向对象和泛型的机制,提高了开发效率,以适用于大中型软件的编写。C支持面向过程编程、面向对象编程和泛型编程,而C语言仅支持面向过程编程。就面向过程编程而言&a…

C语言入门篇——文件操作篇

目录 1、为什么使用文件 2、什么是文件 2.1程序文件 2.2数据文件 2.3文件名 3、文件的打开和关闭 3.1文件指针 3.2文件的打开和关闭 4、文件的顺序读写 5、文件的随机读写 5.1fseek 5.2ftell 5.3rewind 6、文本文件和二进制文件 7、文件读取结束的判定 8、文件…

C语言基础之13:文件输入/输出

Tips1: 函数:fopen()、getc()、putc()、exit()、fclose() fprintf()、fscanf()、fgets()、fputs() rewind()、fseek()、ftell()、fflush() fgetpos()、fsetpos()、feof()、ferror() ungetc()、setvbuf()、fread()、fwrite() 如何使用C标准I/O系列的函数…

01是c语言,01-C语言-简介

一、C语言的起源 1972年,由贝尔实验室的丹尼斯.里奇和肯.汤普逊在开发UNIX系时设计C语言。C语言是在B语言基础上进行设计的。C 语言设计的初衷是将其作为程序员使用的 一种编程工具,因此,其主要目标是成为有用的语言。 二、C语言的特性 设计特…

用C语言实现CLI界面的魔塔游戏

简介 本着开源的精神,我分享下我做的数据结构大作业,我当时选择的是游戏设计题目,由于魔塔基础的机制不太复杂,所以就借着大作业设计了个简易的魔塔游戏。 这是游戏界面: 以下是我当时大作业内容: 我把…

C语言入门(什么是C语言,C语言的编程机制以及一些基础计算机概念)

目录 一.什么是C语言 1.面向对象: 2.面向过程: 二.C语言特点 三.C语言开发时间 四.环境搭建 1.代码编辑器 2.C编译器 五.C语言标准 六.计算机补充知识 1.计算机构成 2.CPU工作 3.编译器 七.编写程序步骤 八.源文件,目标文件&a…

C语言 09.文件

读写文件与printf、scanf关联 printf – 屏幕 – 标准输出 scanf – 键盘 – 标准输入 perror – 屏幕 – 标准错误 系统文件:(打开和关闭由系统自动执行) 标准输入 – stdin – 0 一旦关闭了,scanf就不可以使用 标准输出 – s…

C语言完整知识体系总结

C语言的知识体系总结 这里写目录标题 C语言的知识体系总结序言:C语言的概述历史、特点、标准)1、嵌入式开发为什么选择C语言?(面试题!)2、为什么内核开发选择C语言?3、C语言的缺点:a…

【C语言篇】初识C语言

友情链接:C/C系列系统学习目录 知识总结顺序参考C Primer Plus(第六版)和谭浩强老师的C程序设计(第五版)等,内容以书中为标准,同时参考其它各类书籍以及优质文章,以至减少知识点上的…

C语言学习笔记 1

中央处理器(CPU): 包括运算器、控制器、寄存器 Enum: Enum: 枚举类型 System函数: 执行系统命令。如pause、cmd、calc、mspaint、notepad..... System(“pause”);//暂停 System(“calc”);//打开计算机 System(“cls”);//…

C语言:文件操作

标题 文件什么是文件: 文件指针文件缓冲区操作文件1.文件的打开与关闭函数2.文本行输入输出函数3.格式化输入输出函数(有格式的数据输入到文件中)4.二进制输入输出调整文件指针位置6.ftell与rewind7.文件结束的判定 程序退出,内存…

c语言字节写入文件,C语言文件操作

所谓文件(file)一般指存储在外部介质上数据的集合,比如我们经常使用的mp3、mp4、txt、bmp、jpg、exe、rmvb等等。这些文件各有各的用途,我们通常将它们存放在磁盘或者可移动盘等介质中。那么,为什么这里面又有这么多种格式的文件呢?原因很简单,它们各有各的用途,区分就在…

C语言之编程基础

学自C语言中文网 编程基础 一.编程语言二. C语言的地位三.C语言是菜鸟和大神的分水岭三.C语言和C的关系四.数据在内存中的存储五.载入内存,让程序运行起来六.虚拟内存七. ASCII编码 一.编程语言 通过使用某种“语言”的固定格式和固定词汇来控制计算机的行为, 而这…

matlab中的graythresh函数的实例

一个图足以说明所有问题,代码实例加输出结果,说明一个问题,graythresh()函数还是很不错的! 如果还想跟精确,就在该阈值的周围在试几组数组,找到自己觉得最优的阈值

基于MATLAB的数字图像分割的研究与实现

1 绪论 1.1 图像分割的研究背景 在一幅目标图像下,人们往往只是关注其中的一个或者几个目标,而这些目标必然会占据一定的区域,并且与周围其他目标或背景在一些特征上会有相应的差别。但是,很多时候这些差别会非常的细微&#xff0…

一天一个小技巧(4)——利用Python和MATLAB进行图片二值化

转载请注明作者和出处:https://blog.csdn.net/qq_28810395 Python版本: Python3.x 运行平台: Windows 10 IDE: Pycharm profession 2019 Matlab2010a 一、前言 由于在一些软件和处理上都仅要求是黑白图片,那么掌握一种…

matlab nlfilter 填充方式,MatLab实验步骤(超杰版)

图像变换--灰度调整、滤波增强---二值化(阈值分割)--形态学处理--特征提取 一:色彩变换,从颜色上控制思考怎样应用灰度的变换、滤波变换减少地物 直方图均衡化histeq自适应均衡化adapthisteq灰度调节(灰度映射)imadjust【直接变换、非线性变换、灰度映射…