中值滤波(matlab)
中值滤波
中值滤波:是一种非线性数字滤波器技术, 用于降噪。
理解:去一个模板,可为3 * 3, 5 * 5,n * n…每次从图像中取出模板大小的矩阵,将所有元素排序,取中间值放入木板的中心位置,再还原到原图中,以此类推扫描整个图像。
可先对图像进行填充,填充函数:
B = padarray(A,padsize,padval,direction)
注释:
功能:填充图像或填充数组。
A:输入图像;
B:填充后的图像;
padsize:填充的行数和列数,通常用[r ,c]来表示。
padval:表示填充方法。它的具体值和描述如下:
包括:
- 'symmetric’表示图像大小通过围绕边界进行镜像反射来扩展;
- 'replicate’表示图像大小通过复制外边界中的值来扩展;
- 'circular’图像大小通过将图像看成是一个二维周期函数的一个周期来进行扩展。
direction:表示填充的方向。
包括: - 'pre’表示在每一维的第一个元素前填充;
- 'post’表示在每一维的最后一个元素后填充;
- ‘both’表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。
若参量中不包括direction,则默认值为’both’。
若参量中不包含padval,则默认用零来填充。
若参量中不包括任何参数,则默认填充为零且方向为’both’。
在计算结束时,图像会被修剪成原始大小。
matlab中自带的中值滤波函数:
b=medfilt2(x0,[n,n]);
x0:需要过滤的图像;
[n,n]:模板大小
注意:此函数用于二维中值滤波,通常先灰度处理。
另一种方法程序代码:
x=imread('G:\matlab\1.jpg');%需要过滤的图像
n=3; %模板大小
[height, width]=size(x); %获取图像的尺寸(n小于图片的宽高)
figure;
imshow(x);%显示原图
% x = padarray(x,[3,3]); %对图像边缘进行填充
x = imnoise(x,'salt & pepper'); %加入椒盐噪声
figure;
imshow(x); %显示加入噪声后的图片
x1=double(x); %数据类型转换
x2=x1; %转换后的数据赋给x2
for i=1:height-n+1 for j=1:width-n+1 c=x1(i:i+(n-1),j:j+(n-1)); %在x1中从头取模板大小的块赋给c e=c(1,:); %e中存放是c矩阵的第一行 for u=2:n %将c中的其他行元素取出来接在e后使e为一个行矩阵 e=[e,c(u,:)]; end med=median(e); %取一行的中值 x2(i+(n-1)/2,j+(n-1)/2)=med; %将模板各元素的中值赋给模板中心位置的元素 end
end
d=uint8(x2); %未被赋值的元素取原值
figure;
imshow(d); %显示过滤图片
x0=rgb2gray(x); %灰度处理,灰度处理后的图像是二维矩阵
b=medfilt2(x0,[n,n]); %matlab中自带值滤波函数
figure;
imshow(b); %显示过滤后的灰度图片
结果截图:
原图:
加入椒盐噪声后的图:
手写程序滤波后:
自带函数滤波:
中值滤波(matlab)相关推荐
- 数字图像处理 中值滤波 MATLAB实验
一.原理_中值滤波 中值滤波的基本思想是将图像中每个像素的灰度值用其邻域内像素灰度的中值代替,它是一种非线性平滑滤波算法. 设加噪图像为 f(x,y) ,经中值滤波处理后的图像为g(x,y) ,则: ...
- 中值滤波matlab
摘 要 中值滤波技术是一种在去除噪声的同时能较好保护图像边缘细节的非线性技术,在图像增强和恢复等领域中得到了广泛的应用.文章阐述了中值滤波的原理和特点,并使用软件工具MATLAB实现了图像的中值滤波 ...
- matlab设计自适应中值滤波,matlab课程设计(自适应中值滤波).doc
matlab课程设计(自适应中值滤波).doc 10信息工程系课程设计报告课程MATLAB课程设计专业通信工程班级2级本科二班学生姓名1景学号114学生姓名2学号1414学生姓名3王学号6学生姓名4学 ...
- 中值滤波+Matlab仿真+频域响应分析
中值滤波 文章目录 中值滤波 理解中值滤波的过程 Matlab 实现 实际应用 频域分析 中值滤波是一种滤波算法,其目的是去除信号中的噪声,而不会对信号本身造成太大的影响.它的原理非常简单:对于一个给 ...
- 3 3中值滤波 matlab,MATLAB中值滤波在灰度图像处理中的应用研究和仿真(3)
MATLAB中值滤波在灰度图像处理中的应用研究和仿真(3) 时间:2016-11-30 21:28来源:毕业论文 3.2 中值滤波的仿真 3.2.1 中值滤波仿真函数介绍 MATLAB能够支持多种图像 ...
- [图像]中值滤波(Matlab实现)
原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46826009 原理简述 中值滤波是基于排 ...
- 中值滤波 matlab程序实现(一)
中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术.中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形.十字形等等,然后将邻域中各像素的灰度值 ...
- matlab实现中值滤波程序,中值滤波matlab程序
中值滤波3*3滤波窗口 程序如下: >> i=imread('Winter.jpg'); %读入图像 subplot(2,2,1); imshow(i); %显示原始图像 title('o ...
- 【FPGA教程案例44】图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证
FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...
- 自适应中值滤波用于超声图像降噪
自适应中值滤波原理: RAMF主要通过以下两步来处理图像. 1.首先确定最大的滤波半径,然后用一个合适的半径r对图像进行滤波.计算当前滤波半径像素灰度的Imin,Imax,Imed,然后判断Imed是 ...
最新文章
- 程序员怎么赚更多的钱_自由职业技巧:如何感到更加自信和赚更多钱
- codewars047: 街头霸王2
- 安装python sklearn经验总结
- wdtree简介、使用
- java 解决故意弄得错误,高效的Java错误处理
- ejb构建_如何使用单例EJB和MBean构建和清除参考数据缓存
- 51.com庞升东:其实我认为自己比较像唐僧
- slab 着色如何最大限度地利用 Cache Lines 或 Cache Rows?
- SpringCloud 学习--路由网关
- 洛谷P1351 联合权值(树形dp)
- 快速了解什么是RSA加密算法
- 在操作系统中进程是如何通信的
- Pytorch——用50行代码搭建ResNet
- 【神经网络】一文读懂LSTM神经网络
- 编程实践精华总结集锦系列1: SpringBoot/Maven/IDEA/Java/Kotlin/Redis等等
- centos7.9安装zabbix+添加局域网下其他客户机
- 安装GD库 GD库安装全过程详解
- 涨点技巧:基于Yolov5的微小目标检测,多头检测头提升小目标检测精度
- win10网络不出现计算机列表,win10笔记本WiFi网络列表不显示内容的解决方法
- 初创公司必看 杭州靠谱2B创业梯队