中值滤波是一种典型的非线性滤波,是基于排序统计理论的一种能够有效抑制噪声的非线性信号处理技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,让周围的像素值接近真实的值从而消除孤立的噪声点。该方法在去除脉冲噪声、椒盐噪声的同时能保留图像的边缘细节

中值滤波示意如下图所示

matlab代码实现

clc;
clear all;
close all;RGB_data = imread('G:\picture_deal\matlab_code\mangguo.bmp');%图像读入[ROW,COL, DIM] = size(RGB_data); %提取图片的行列数Y_data = zeros(ROW,COL);
Cb_data = zeros(ROW,COL);
Cr_data = zeros(ROW,COL);
Gray_data = RGB_data;R_data =    RGB_data(:,:,1);
G_data =    RGB_data(:,:,2);
B_data =    RGB_data(:,:,3);for r = 1:ROWfor c = 1:COLY_data(r, c) = 0.299*R_data(r, c) + 0.587*G_data(r, c) + 0.114*B_data(r, c);Cb_data(r, c) = -0.172*R_data(r, c) - 0.339*G_data(r, c) + 0.511*B_data(r, c) + 128;Cr_data(r, c) = 0.511*R_data(r, c) - 0.428*G_data(r, c) - 0.083*B_data(r, c) + 128;end
endGray_data(:,:,1)=Y_data;
Gray_data(:,:,2)=Y_data;
Gray_data(:,:,3)=Y_data;figure(1);
imshow(Gray_data);
title('没有加椒盐噪声的Y分量原始图像'); %对原始图片加入椒盐噪声
salt_data=imnoise(RGB_data,'salt & pepper',0.01);
R_data =    salt_data(:,:,1);
G_data =    salt_data(:,:,2);
B_data =    salt_data(:,:,3);for r = 1:ROWfor c = 1:COLY_data(r, c) = 0.299*R_data(r, c) + 0.587*G_data(r, c) + 0.114*B_data(r, c);Cb_data(r, c) = -0.172*R_data(r, c) - 0.339*G_data(r, c) + 0.511*B_data(r, c) + 128;Cr_data(r, c) = 0.511*R_data(r, c) - 0.428*G_data(r, c) - 0.083*B_data(r, c) + 128;end
endGray_data(:,:,1)=Y_data;
Gray_data(:,:,2)=Y_data;
Gray_data(:,:,3)=Y_data;figure(2);
imshow(Gray_data);
title('加椒盐噪声的Y分量图像'); %中值滤波
Y=medfilt2(Y_data);
Gray_data(:,:,1)=Y;
Gray_data(:,:,2)=Y;
Gray_data(:,:,3)=Y;figure(3);
imshow(Gray_data);
title('中值滤波后的Y分量图像');
imwrite(salt_data,'mangguo_salt.bmp'); %保存图像为文件

matlab中值滤波实现相关推荐

  1. 3 3中值滤波 matlab,MATLAB中值滤波在灰度图像处理中的应用研究和仿真(3)

    MATLAB中值滤波在灰度图像处理中的应用研究和仿真(3) 时间:2016-11-30 21:28来源:毕业论文 3.2 中值滤波的仿真 3.2.1 中值滤波仿真函数介绍 MATLAB能够支持多种图像 ...

  2. FPGA中值滤波实现并Modelsim仿真,与MATLAB中值滤波进行对比

    文章目录 一.中值滤波算法 二.FPGA实现中值滤波 2.1 3*3窗口的生成 2.2 排序模块 2.3中值滤波模块 2.4 整体RTL图 三.modeslim仿真 四.matlab中值滤波 五.效果 ...

  3. Matlab中值滤波

        'medfilt2' 是 MATLAB 中的一个函数,用于对二维图像进行中值滤波.中值滤波是一种非线性滤波方法,它将每个像素的值替换为该像素周围邻域内像素的中值. 该函数语法如下: B = m ...

  4. Matlab中值滤波与平滑滤波

    实现原理 1.根据卷积核大小对图像进行全零填充 2.根据填充类型定义卷积核 3.从图像三维矩阵抽取矩阵,进行卷积 4.输出处理后的图像 function [img] = img_filter(img, ...

  5. matlab中值滤波法算法,基于MATLAB中值滤波算法的优化与实现

    总第238期2014年第4期 舰 船 电 子 工 程 Ship Electronic Engineering Vol.34No.437 基于 MATLAB中值滤波算法的优化与实现* 赵建春 刘力源 ( ...

  6. C++ 实现matlab中值滤波函数medfilt2

    void MedianFilt(std::vector<int> src, std::vector<int> dst, MatrixParam& param, int ...

  7. matlab中值滤波--medfilt2

    x=imread('x.jpg'); x=rbg2gray(x);  %转成灰度图像 k=medfilt2(x);   %中值滤波,默认为3X3矩阵 figure, imshow(k); medfil ...

  8. matlab 滤滤程序,在matlab中如何调用matlab中值滤波函?

    function [B] = hw7_b(file_name, block_size) % EE 8541 % HW 1 Problem #7b % Performs a median filter ...

  9. 数字图像处理 中值滤波 MATLAB实验

    一.原理_中值滤波 中值滤波的基本思想是将图像中每个像素的灰度值用其邻域内像素灰度的中值代替,它是一种非线性平滑滤波算法. 设加噪图像为 f(x,y) ,经中值滤波处理后的图像为g(x,y) ,则: ...

  10. matlab练习程序(自适应中值滤波RAMF)

    中值滤波是很经典的算法了.今天看论文又知道还有一种叫自适应中值滤波的算法RAMF.原论文在这里. RAMF主要通过以下两步来处理图像. 1.首先确定最大的滤波半径,然后用一个合适的半径r对图像进行滤波 ...

最新文章

  1. 关于RAID与SCSI的一些基本概念(转)
  2. golang--sync.WaitGroup使用示例
  3. checksum命令 linux_关于Linux操作系统的一些命令是什么?
  4. python对csv文件中的数据进行分类_利用Python对csv文件中的数据进行排序
  5. 前端学习(2622):过滤器进行操作
  6. 寻找连通域算法_FPGA实现的连通域识别算法升级
  7. Java设计模式学习总结(3)——创建型模式之抽象工厂模式
  8. access数据库窗体设计实验报告_来自窗体控件的数值条件(VBA)
  9. C++顺序表(模板总结)
  10. VS错误的解决解决:LINK fatal error LNK1000: Internal error during IncrBuildImage
  11. 数据分析面试:业务题
  12. 5种主流的移动端广告类型
  13. 【ROS入门21讲】Client客户端的编程实现
  14. DevOps-5-看板
  15. 第一模块-开发基础-第一章python语法
  16. WebStorm开发应用——前端页面
  17. Win11双屏怎么设置不同壁纸
  18. Android通过反射EthernetManager Api设置以太网为静态IP地址或者动态获取IP
  19. 【Noip模拟 20161004】局域网
  20. 【C语言--斐波拉契数列】

热门文章

  1. bootstrap设计登录页面_微服务和VUE(2) 搭建前端登录界面
  2. Java的throws Exception
  3. 使用动态代理爬取某房产平台信息并写入Excel(python)
  4. linux远程拷贝快捷键远程,linux命令scp远程拷贝
  5. opengl在windows中使用最新的opengl
  6. VUE3+TS 生成一些五线谱
  7. potplayer最全使用教程,【无边框透明美化教程】+【全球IPTV电视直播教程】+【不用下载观看影视剧教程】!
  8. 将Ubuntu从Win7的魔爪中拯救出来
  9. iso硬盘安装 凤凰os_X86平台国产OS 对比评测 | 凤凰os安装教程_什么值得买
  10. 计算机网络之数据链路层协议总结