当前位置: 首页 > news >正文

中值滤波器 median filter

中值滤波

中值滤波器(median filter)是将每个像素替换为围绕这个像素的矩形领域内的中值,或”中值像素"。 通过平均的简单模糊对噪声图像,由其是有较大孤立的异常值非常敏感。少量具有较大偏差的点也会严重影响到均值滤波。中值滤波可以采用取中间点的方式来消除异常值。

中值滤波是非线性滤波。

1. 方法

中值滤波会取当前像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值。

在这里插入图片描述
将其邻域设置为3×3大小,对其3×3邻域内像素点的像素值进行排序(升序降序均可),按升序排序后得到序列值为:[66,78,90,91,93,94,95,97,101]。在该序列中,处于中心位置(也叫中心点或中值点)的值是“93”,因此用该值替换原来的像素值78,作为当前点的新像素值,处理结果如下图所示。

在这里插入图片描述

2. OPENCV使用方法

cv::medianBlur(inputImage_, outputImage_, kenel_size_);
  • inputImage_ 是需要处理的图像,即源图像。它能够有任意数量的通道,并能对各个通道独立处理。图像深度应该是CV_8U、CV_16U、CV_16S、CV_32F或者CV_64F中的一种。
  • outputImage_是返回值,表示进行中值滤波后得到的处理结果。
  • kenel_size_是滤波核的大小。滤波核大小是指在滤波处理过程中其邻域图像的高度和宽度。需要注意,核大小必须是比1大的奇数,比如3、5、7等。

3. 效果展示

请添加图片描述

Reference

  1. https://baike.baidu.com/item/%E5%9B%BE%E5%83%8F%E5%99%AA%E5%A3%B0/4116468?fr=aladdin
  2. https://www.jianshu.com/p/857e82b21f42

相关文章:

  • 基于ssm的图书(借阅)管理系统
  • linux内核中的I2C
  • 【Java面试】如何系统准备秋招?献上一份超硬核Java学习路线图+学习资源,拿走不谢!!
  • 面试分析:你懂不懂threadlocal?
  • ESP8266-Arduino编程实例-CCS811数字气体传感器驱动
  • 【C++编程语言】之类和对象---对象初始化和清除
  • Task05|joyfulpandas|变形
  • 【SpringBoot】yaml配置文件语法—总结回顾
  • jenkins 发布项目到k8s tomcat
  • 基于ssm(非maven)学生考勤管理系统
  • C++11新特性(一)
  • WebRTC源码之摄像头视频数据采集源码分析
  • stm32f4xx-PWM输出
  • 【博客474】为什么k8s控制面pod使用的ip是node ip,而非pod cidr中的ip
  • 2022 华为 Java 高级面试题及答案
  • python3.6+scrapy+mysql 爬虫实战
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • 高性能JavaScript阅读简记(三)
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何学习JavaEE,项目又该如何做?
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 携程小程序初体验
  • 异步
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 终端用户监控:真实用户监控还是模拟监控?
  • 走向全栈之MongoDB的使用
  • k8s使用glusterfs实现动态持久化存储
  • ​flutter 代码混淆
  • $ git push -u origin master 推送到远程库出错
  • ()、[]、{}、(())、[[]]命令替换
  • (02)vite环境变量配置
  • (11)MSP430F5529 定时器B
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (四)linux文件内容查看
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)甲方乙方——赵民谈找工作
  • (转)树状数组
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET 药厂业务系统 CPU爆高分析
  • .NET委托:一个关于C#的睡前故事
  • .net中应用SQL缓存(实例使用)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @Import注解详解
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [AutoSAR系列] 1.3 AutoSar 架构