【Emgu CV教程】6.7、图像平滑之MedianBlur()中值滤波

2024-02-01 09:12

本文主要是介绍【Emgu CV教程】6.7、图像平滑之MedianBlur()中值滤波,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、介绍
    • 1.原理
    • 2.函数介绍
  • 二、举例
    • 1.原始素材
    • 2.代码
    • 3.运行结果


一、介绍

1.原理

图像的滤波分为线性滤波和非线性滤波,常见的线性滤波就是前面介绍的均值滤波、方框滤波、高斯滤波。常见的非线性滤波主要包括中值滤波、双边滤波,今天就先介绍中值滤波。线性滤波就是加权再求值,中值滤波则是取当前像素点及其邻域像素点,将这些像素点排序,再将位于中间位置的像素值作为当前像素点的输出值。以这个原始图像为例:
在这里插入图片描述
对66这个点做中值滤波,如果滤波核选择 3 * 3,那么取出来的值就是
在这里插入图片描述
对这9个值排序,结果是238、211、151、137、98、83、66、31、29,位于中间的是98,所以这个点的输出结果就是98。注意哈:

1、滤波核,X水平方向和Y垂直方向值相同,必须是奇数。(Emgu CV就这样规定)
2、不论从大到小排序,还是从小到大排序,98总是位于中间位置,所以结果就是它。
3、这个98不是9个点根据加权计算来的,所以不是线性滤波。
4、“中值” 的 意思是按照排序,位于中间位置的值。

2.函数介绍

官方定义如下:

public static void MedianBlur(IInputArray src, // 输入图像IOutputArray dst, // 输出图像int ksize, // 滤波核的大小,也就是选取的邻域像素的高度和宽度。
)

二、举例

1.原始素材

原始素材定义为srcMat,如下:
在这里插入图片描述
还是这个有椒盐噪声的向日葵图片。

2.代码

Emgu CV中值滤波代码如下:

int ksizeX = 13;
Mat dstMat = srcMat.Clone();
CvInvoke.MedianBlur(dstMat, dstMat, ksize);
CvInvoke.Imshow("MedianBlur image, " + dstMat.Size.ToString(), dstMat);

3.运行结果

在这里插入图片描述

代码采用了13 * 13的滤波核,椒盐噪声已经没有了,花朵和绿叶上的纹理也被平滑了,但是花朵和绿叶的边缘还是很清晰的。所以记住中值滤波的特点:消除椒盐噪声、保留边缘


原创不易,请勿抄袭。共同进步,相互学习。

这篇关于【Emgu CV教程】6.7、图像平滑之MedianBlur()中值滤波的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666794

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas