中值滤波(Median filtering)

中值滤波(Median filtering)1 概念介绍 中值滤波法是一种非线性平滑技术 它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值 中值滤波的方法是用某种结构的二维滑动模板 将板内像素按照像素值的大小进行排序 生成单调上升 或下降 的为二维数据序列 2 基本原理 中值滤波会选取数字图像或数字序列中像素点及其周围临近像素点 一共有奇数个像素点 的像素值 将这些像素值排序 然后将位于中间位置的像素值作为当前像素点的像素值 让周围的像素值接近真实值 从而消除孤立的噪声点 例如 针对图 2 1 中第 4 行第 4 列的像素点

1.概念介绍

 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。

 中值滤波的方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。





2.基本原理

 中值滤波会选取数字图像或数字序列中像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值,让周围的像素值接近真实值,从而消除孤立的噪声点。

 例如,针对图2-1中第4行第4列的像素点,计算它的中值滤波值。
在这里插入图片描述
图2-1  一幅图像的像素值示例

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

















3.函数语法

 在 OpenCV 中,实现中值滤波的函数是 cv2.medianBlur(),其语法格式如下:
dst = cv2.medianBlur( src, ksize)

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












4.程序示例

针对一幅噪声图像进行中值滤波,显示滤波的结果。

import cv2 Gn=cv2.imread("Gaussian_noise.jpg") Gf=cv2.medianBlur(Gn,3) cv2.imshow("噪声图像",Gn) cv2.imshow("中值滤波处理结果图像",Gf) cv2.waitKey() cv2.destroyAllWindows() 

在这里插入图片描述
图4-1 噪声图像

在这里插入图片描述
图4-2  中值滤波处理结果

 在中值滤波处理中,噪声成分很难被选上,所以可以在几乎不影响原有图像的情况下去除全部噪声。但是由于需要进行排序等操作,中值滤波需要的运算量较大












版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217686.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午9:00
下一篇 2026年3月18日 上午9:00


相关推荐

  • js页面跳转代码_js自动跳转到指定页面

    js页面跳转代码_js自动跳转到指定页面<scripttype=”text/javascript”>try{varurlhash=window.location.hash;if(!urlhash.match(“fromapp”)){if((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i))){window.location=’/mb/index….

    2022年8月13日
    10
  • FormData上传文件同时附带其他参数

    FormData上传文件同时附带其他参数前端 js 代码 functionfile varformData newFormData formData append file FileUpload 0 files 0 vartype file type val

    2026年3月18日
    2
  • 【MML】华为MML AAA接口联调,Java版本

    【MML】华为MML AAA接口联调,Java版本1 我们先设置一些常量数据 packagecn cutter ztesoft HuWeiMML constrant description AAA 接口常量设置 author xiaof create 2018 07 2610 07 publicclassI

    2026年3月18日
    2
  • get请求和post请求的区别

    get请求和post请求的区别HTTP 协议什么是协议 协议实际上是某些人 或者某些组织提前制定好的一套规范 大家都按照这个规范来 这样可以做到沟通无障碍 协议就是一套规范 就是一套标准 由其他人或其他组织来负责制定的 我说的话你能听懂 你说的话 我也能听懂 这说明我们之间是有一套规范的 一套协议的 这套协议就是 中国普通话协议 我们都遵守这套协议 我们之间就可以沟通无障碍 什么是 HTTP 协议 HTTP 协议 是 W3C 制定的一种超文本传输协议 通信协议 发送消息的模板提前被制定好 W3C 万维网联盟组织

    2026年3月19日
    1
  • sunlime 激活码(最新序列号破解)

    sunlime 激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    56
  • flash人物原地走路,Flash制作小人走路简单动画图文教程「建议收藏」

    flash人物原地走路,Flash制作小人走路简单动画图文教程「建议收藏」很多用户都想掌握Flash中的各种制作动画的技巧,今天极限下载小编就为大家分享如何利用Flash制作小人移动的动画,是对形状补间的一次简单运用,值得一说的是形状补间做的小人比起动画补间来说要轻松简明不少,而且动作多变,不过易出现问题,用flash制作小人走路的简单动画,一起来看看吧!工具/原料flashCS3FLASH基础方法/步骤1、首先利用椭圆工具和刷子工具在舞台上画一个小人,形状自己定,反正…

    2022年4月29日
    398

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号