热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

开发笔记:matlab图像处理中值滤波原理

篇首语:本文由编程笔记#小编为大家整理,主要介绍了matlab图像处理-中值滤波原理相关的知识,希望对你有一定的参考价值。中值滤波原理

篇首语:本文由编程笔记#小编为大家整理,主要介绍了matlab图像处理-中值滤波原理相关的知识,希望对你有一定的参考价值。



中值滤波原理

??中值滤波本质上是一种统计排序滤波器。对于原图像中某点(i,j),中值滤波以该点为中心的邻域内的所有像素的统计排序中值作为(i,j)点的响应。

??中值不同于均值,是指排序队列中位于中间位置的元素的值,例如,采用3x3中值滤波器,某点(i,j)的8个邻域的一系列像素值为12,18,25,11、118,17、35,29,23,统计排序结果为11、12,17,18,23,25,29,35,118。排在中间位置(第5位)的23即作为(i,j)点中值滤波的响应g(i,j)。显然,中值滤波并非线性滤波器。

原理图解:选定图像中的某个像素,采用3*3的滤波窗口进行滤波,将周围的8个像素连同选定的像素进行排序,然后选择排好序的中心像素值代替原来的像素值。即将图中的23代替原来的118。

技术图片

图中可以知道,当像素点太大或者太小时都不同意被选中,所以中值滤波对像素值比较大或者比较小的噪声滤除的效果比较好,如:椒盐噪声,对比较均匀的噪声滤除的效果一般,如:高斯噪声。


中值滤波的优点:

??中值滤波对于某些类型的随机噪声具有非常理想的降噪能力,对于线性平滑滤波而言,在处理的像素邻域之内包含噪声点时,噪声的存在总会或多或少地影响该点的像素值的计算,(对于高斯平滑影响程度同噪声点到中心点的距离成正比),但在中值滤波中噪声点则常常是直接被忽略掉的;而且同线性平滑滤波器相比,中值滤波在降噪同时引起的模糊效应较低。


使用MATLAB展示中值滤波效果:

在matlab中中值滤波的函数是medfilt2函数,示例1,中值滤波对椒盐噪声和高斯噪声的滤波效果展示。

1、采用的原图是:
技术图片

2、滤除椒盐噪声和高斯噪声的对比代码如下:

%% 滤波效果展示
clear; clc; close all;
rawimg = imread(‘..picture1.jpg‘);
[~,~,index] = size(rawimg);
if index ~= 1
rawimg = rgb2gray(rawimg); % 转化为灰度图
end
% 显示原图
figure;imshow(rawimg);title(‘原图‘);
% 添加噪声
salt_img=imnoise(rawimg,‘salt & pepper‘,0.04); % 叠加密度为0.04的椒盐噪声
guas_img = imnoise(rawimg,‘gaussian‘,0.04);
figure;subplot(1,2,1);imshow(salt_img);title(‘添加椒盐噪声‘);
subplot(1,2,2);imshow(guas_img);title(‘添加高斯噪声‘);
% 进行滤波
salt_fit = medfilt2(salt_img,[3 3]); % 采用二维中值滤波函数对图像滤波,滤波窗口是3*3
guas_fit = medfilt2(guas_img,[3,3]); % 滤除高斯噪声
% 滤波效果:
figure;subplot(1,2,1);imshow(salt_fit);title(‘椒盐噪声滤波效果‘);
subplot(1,2,2);imshow(guas_fit);title(‘高斯噪声滤波效果‘);

添加噪声效果示例:

技术图片

使用中值滤波滤除的效果示例:

技术图片

分析:可以很明显的看到,中值滤波对椒盐噪声的滤除效果比高斯噪声要好,边缘部分的细节有部分的保留。

3、选择不同的窗口对椒盐噪声的滤除效果对比示例代码:

%% 滤波窗口选择展示
clear; clc; close all;
rawimg = imread(‘..picture1.jpg‘);
[~,~,index] = size(rawimg);
if index ~= 1
rawimg = rgb2gray(rawimg); % 转化为灰度图
end
% 添加噪声
salt_img=imnoise(rawimg,‘salt & pepper‘,0.04); % 叠加密度为0.04的椒盐噪声
figure;subplot(1,2,1);imshow(rawimg);title(‘原图‘);
subplot(1,2,2);imshow(salt_img);title(‘添加椒盐噪声‘);
% 进行滤波
min_fit = medfilt2(salt_img,[3 3]); % 采用二维中值滤波函数对图像滤波,滤波窗口是3*3
max_fit = medfilt2(salt_img,[9,9]); % 滤除高斯噪声
% 滤波效果:
figure;subplot(1,2,1);imshow(min_fit);title(‘3*3滤波窗口效果‘);
subplot(1,2,2);imshow(max_fit);title(‘9*9滤波窗口效果‘);

添加椒盐噪声的效果示例:

技术图片

分别选择[3,3]滤波窗口和[9,9]滤波窗口对噪声图像进行滤波效果对比示例:

技术图片

分析:可以很明显看到,当中值滤波的窗口选择越大的时候滤波的效果比较明显,但是窗口选择越大则对原图的边缘,细节部分滤除的部分就会越多,这个特性可以根据自己的需要进行调节。


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • Python入门:第一天准备与安装
    本文详细介绍了Python编程语言的基础知识和安装步骤,帮助初学者快速上手。涵盖Python的特点、应用场景以及Windows环境下Python和PyCharm的安装方法。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 深入解析for与foreach遍历集合时的性能差异
    本文将详细探讨for循环和foreach(迭代器)在遍历集合时的性能差异,并通过实际代码示例和源码分析,帮助读者理解这两种遍历方式的不同之处。文章内容丰富且专业,旨在为编程爱好者提供有价值的参考。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 本文详细介绍了如何访问和配置无线路由器的管理页面,包括查找默认网址、登录凭证以及进行基本设置的方法。 ... [详细]
author-avatar
尚伦旺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有