MATLAB--数字图像处理 中值滤波

news/2024/11/30 0:42:07/

中值滤波

    概念
  中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为33,55区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。

原理解释
其实中值滤波比较好理解,首先需要我们找到中值,再用其去替代一个位置的像素。比如在一副图像中,我们取3*3的模板,在这个模板中,一个有9个元素,我们找出其中的中值,用它去代替最中间的那个位置的像素,这就是中值滤波。
图示:
在这里插入图片描述

MATLAB实现

方法一:medfilt2()函数实现

 t=imread('a1.jpg');
t=rgb2gray(t);
t1=imnoise(t,'salt & pepper',0.3);
subplot(1,2,1),imshow(t1),title('加入椒盐噪声后')
t2=medfilt2(t1,[3 3]);
subplot(1,2,2),imshow(t2),title('中值滤波后')

效果图:
在这里插入图片描述
注意:medfilt2()函数中的第一个参数必须是二维的,这就是为什么先要把图像灰度化的原因,那么有什么方法对彩色图像中值滤波呢?肯定可以的啊,分别对三个通道中值滤波就行了。

t=imread('a1.jpg');
t1=imnoise(t,'salt & pepper',0.3);
subplot(1,2,1),imshow(t1),title('加入椒盐噪声后')
t2=t
t2(:,:,1)=medfilt2(t1(:,:,1),[3 3]);
t2(:,:,2)=medfilt2(t1(:,:,2),[3 3]);
t2(:,:,3)=medfilt2(t1(:,:,3),[3 3]);
subplot(1,2,2),imshow(t2),title('中值滤波后')

效果图:
在这里插入图片描述
方法二:自己编写中值滤波函数
中值滤波函数:

function [ img ] = median_filter( image, m )
%----------------------------------------------
%中值滤波
%输入:
%image:原图
%m:模板的大小3*3的模板,m=3%输出:
%img:中值滤波处理后的图像
%----------------------------------------------n = m;[ height, width ] = size(image);x1 = double(image);x2 = x1;for i = 1: height-n+1for j = 1:width-n+1mb = x1( i:(i+n-1),  j:(j+n-1) );%获取图像中n*n的矩阵mb = mb(:);%将mb变成向量化,变成一个列向量mm = median(mb);%取中间值x2( i+(n-1)/2,  j+(n-1)/2 ) = mm;endendimg = uint8(x2);
end

主函数:

t=imread('a1.jpg');
t1=imnoise(t,'salt & pepper',0.3);
imshow(t1),title('加入椒盐噪声');
t2=median_filter(t,3);%调用函数
figure,imshow(t),title('中值滤波后')

效果图:
在这里插入图片描述
在这里插入图片描述

更多

获取更多资料、代码,微信公众号:海轰Pro
回复 海轰 即可


http://www.ppmy.cn/news/811571.html

相关文章

博士后申请哪些老板不要选?

博士后申请是许多研究人员迈向学术界的重要阶段。在选择导师时,需要慎重考虑各方面因素。虽然我不能提及具体老板的名字,但我可以给你一些在博士后申请过程中需要谨慎选择的类型。以下是知识人网小编整理的一些可能不适合选择的老板类型: 1. …

华为eSight网络监控平台安装

一、安装前准备 PC机配置项|要求 硬件配置|CPU:2.0GHZ以上 内存:2GB以上 |硬盘:剩余空间大于10GB操作系统Windows 7、Windows Server 2008或Windows Server 2012 |操作系统语言为中文或英文 网络|维护PC与eSight服务器能正常通信 维护PC与eS…

华为笔试题街区监控

街区监控 题目描述 一个街区,为提高街区安全性,需在街区的路灯上安装若干摄像头,用一个二叉树表示街区的路灯,每个节点表示一个路灯,在路灯上安装摄像头。每个摄影头都可以监视其父对象、自身及其直接子对象。为保证每个路灯都被监控,请计算街区所需的最小摄像头数量。 输…

华为云linux安装agent云监控插件

如图效果,显示未安装则需手动安装插件,运行中则说明插件已安装完毕并在运行 卸载Agent(没安装正确就先卸载) cd /usr/local/uniagent/script/ ./uninstall.sh 删除cd /usr/local/目录下agent_install.sh 1.安装agent cd /usr/loc…

华为光功率模块监控SNMP OID

hwOpticalModuleInfoTable详细描述 该表是描述了光模块一些基本信息。该MIB信息存储在光模块上的寄存器中。 该表的索引是entPhysicalIndex。 说明: 1.3.6.1.4.1.2011.5.25.31.1.1.3.1.13、1.3.6.1.4.1.2011.5.25.31.1.1.3.1.14、1.3.6.1.4.1.2011.5.25.31.1.1.3…

Zabbix之配置华为交换机监控项

一、snmp简介 简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解…

zabbix监控网络设备(华为AC)

登陆到华为AC里面开启SNMP协议 版本V3是最好的,我这里选v2c是因为不懂用v3。 之后选择团体管理/组管理,新创建一个团体 然后去测试 [roottest133 ~]# snmpwalk -v 2c -c test20200728 192.168.50.6 格式snmpwalk -v 版本号 -c 团体名字 设备内网IP地址…

snmp_exporter监控华为交换机测试

eNSP VMWAE SNMP 因为没有真实的交换机 所以使用eNSP生成一台华为的设备 在vmware创建了一台centos7.9的虚拟机用来安装snmp_exporter R1的配置 [Huawei]sys [Huawei]sysname r1 [r1-GigabitEthernet0/0/1]ip add 192.168.1.89 24 [r1-GigabitEthernet0/0/1]snmp [r1]snmp…