图像处理--空域滤波增强(原理)

一、均值滤波

        线性滤波算法,采用的主要是邻域平均法。基本思想是使用几个像素灰度的某种平均值来代替一个原来像素的灰度值。可以新建一个M×N的窗口以f(x,y)为中心,这个窗口S就是f(x,y)的邻域。假设新的新的像素灰度值为g(x,y),则计算公式为

g(x,y)=\frac{1}{M\times N}\sum _{(x,j)\in S}f(i,j)

        1.1 简单平均法

        就是使用窗口内的所有像素灰度值相加求均值后来代替原来的灰度值。

        其实就是每一个像素的权值为1的滑动窗口。

        1.2 加权平均法

        就是在窗口中加入某个权值进行加权计算。因为从欧几里得距离,中心点的上下左右的灰度值距离比对角上的其实是要更近的。所以我们可以合理的认为离得近的灰度值越靠近,所以就赋予不同的权值。

        之后对 g(x,y)的计算和上面的额简单平均法是一样的。

        这两种滤波算法对于被噪点类型的噪声污染(椒盐噪声)的图像处理事比较有效的,因为这种突兀的噪点在这种方式的滤波下是会被平均掉、平滑掉。但是对于高斯噪声这种非脉冲类型的噪声效果不明显,甚至会降低图像的清晰度。

二、中值滤波

        中值滤波属于一种非线性的滤波。其基本原理是,将模板内像素按照像素值的大小进行排序,生成单调上升或者下降的序列,然后利用该序列中间位置的像素值来代替被求位置的数值,从而消除孤立的像素点。这种方法能够彻底的消除尖锐噪声。这种滤波算法相比于均值滤波,对于椒盐噪声有更好的效果,但是对于高斯滤波效果是差不多的。

        这也很好理解。这两种类型的滤波算法都是利用一些临近选择从而去除一些极端的像素值。对于高斯噪声这种均匀分布的噪声是没有很好的效果的。

三、锐化空间滤波

        锐化处理的目的是突出灰度过度的部分。在图像中,物体与背景连接的地方灰度值是发生跳跃的。数学上,也就是说梯度变化比较大。因此,利用梯度的变化率我们可以很好的描述一个图片中物体的轮廓状态:当梯度变化率比较小的时候,图像中物体的交接不明显;当梯度变化率比较大的时候,物体在图像中就比较突出。

        对于一个连续函数f(x,y),其梯度可以表示为:\triangledown f = [\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}]^{T}。计算他的模值可以使用2范数或者1范数。反正确定模值的方法有很多。

        当确定好了模值,就是如何确定g(x,y)的数值。一般来说是令该点的灰度值为梯度值。亦或者是设置一个阈值,当梯度大于这个阈值的时候做g(x,y) = G[f(x,y)],小于的时候保留原值或者设置为其他预设值的数值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 234.回文链表

题目描述 给你一个单链表的头节点 head ,请你判断该链表是否为 回文链表 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: 输入&#xff…

PWN入门之Stack Overflow

Stack Overflow是一种程序的运行时(runtime)错误,中文翻译过来叫做“栈溢出”。栈溢出原理是指程序向栈中的某个变量中写入的字节数超过了这个变量本身所申请的字节数,导致与其相邻的栈中的变量值被改变。 在本篇文章中&#xff…

常用语音识别开源四大工具:Kaldi,PaddleSpeech,WeNet,EspNet

无论是基于成本效益还是社区支持,我都坚决认为开源才是推动一切应用的动力源泉。下面推荐语音识别开源工具:Kaldi,Paddle,WeNet,EspNet。 1、最成熟的Kaldi 一个广受欢迎的开源语音识别工具,由Daniel Pove…

代码随想录算法训练营DAY54|C++动态规划Part15|647.回文子串、516最长回文子序列、

文章目录 647.回文子串思路CPP代码双指针 516最长回文子序列思路CPP代码 动态规划总结篇 647.回文子串 力扣题目链接 文章链接:647.回文子串 视频链接:动态规划,字符串性质决定了DP数组的定义 | LeetCode:647.回文子串 其实子串问…

第07-6章 应用层详解

HTTP、SSL:基于TCP,HTTP端口:80、HTTPS(加密)端口:443;FTP:基于TCP,两类端口:21、20(数据传输之前需要建立连接此时是21,真正传输数据时用20)TFTP…

机器学习中线性回归算法的推导过程

线性回归是机器学习中监督学习中最基础也是最常用的一种算法。 背景:当我们拿到一堆数据。这堆数据里有参数,有标签。我们将这些数据在坐标系中标出。我们会考虑这些数据是否具有线性关系。简单来说 我们是否可以使用一条线或者一个平面去拟合这些数据的…

如何在交换机上重置密码而不丢失配置?如何配置SSH远程登录?

在网络设备管理中,保持设备的安全性是至关重要的,所以console密码是必须设置的,绝对不能偷懒。 但是,如果习惯不好,或者离职时交接不好,就会导致密码丢失,此时想要修改网络设置的配置就麻烦了。…

华为OD机试 - 符号运算 - 递归(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

使用 FFmpeg 从音视频中提取音频

有时候我们需要从视频文件中提取音频,并保存为一个单独的音频文件,我们可以借助 FFmpeg 来完成这个工作。 一、提取音频,保存为 mp3 文件: 要使用 FFmpeg 从音视频文件中提取音频,并将 ACC 编码的音频转换为 MP3 格式&#xff0…

CNN实现fashion_mnist数据集分类(tensorflow)

1、查看tensorflow版本 import tensorflow as tfprint(Tensorflow Version:{}.format(tf.__version__)) print(tf.config.list_physical_devices())2、加载fashion_mnist数据与预处理 import numpy as np (train_images,train_labels),(test_images,test_labels) tf.keras.d…

Neo4j+LLM+RAG 环境配置报错处理

开发KGLLMRAG程序时遇到以下报错,记录下处理方案: ValueError: Could not use APOC procedures. Please ensure the APOC plugin is installed in Neo4j and that ‘apoc.meta.data()’ is allowed in Neo4j configuration 这个参考文章:link…

FFmpeg学习记录(四)——SDL音视频渲染实战

1.SDL使用的基本步骤 SDL Init/sDL _Quit()SDL_CreateWindow()/SDL_DestoryWindow()SDL CreateRender() SDL_Windows *windows NULL;SDL_Init(SDL_INIT_VIDEO);window SDL_CreateWindow("SDL2 Windows",200,200, 640,480,SDL_WINDOW_SHOWN);if(!window) {printf(&…

【链表】:链表的带环问题

🎁个人主页:我们的五年 🔍系列专栏:数据结构 🌷追光的人,终会万丈光芒 前言: 链表的带环问题在链表中是一类比较难的问题,它对我们的思维有一个比较高的要求,但是这一类…

【linux-IMX6ULL配置GPIO通用流程-以及时钟配置】

目录 1. GPIO模式控制流程1.1 LED、蜂鸣器、按键1.2 GPIO控制流程 2. 标准库的简要分析及实现:2.1 问题引入:2.2 代码实现: 3. 时钟配置总结:3.1 时钟树概要:3.2 IMX6ULL时钟概要及时钟树:3.3 IMX6ULL时钟配…

机器学习周记(第三十七周:语义分割)2024.4.29~2024.5.5

目录 摘要 ABSTRACT 1 DeepLabV3 1.1 空间金字塔池化(ASPP) 1.2 解码器(Decoder) 1.3 Xception 2 相关代码 摘要 DeepLabV3 是由Google Brain团队开发的深度学习模型,专注于语义分割任务。它采用深度卷积神经网…

QtWindows任务栏

目录 引言任务栏进度右键菜单缩略图工具栏完整代码 引言 针对Windows系统的任务栏,Qt基于系统的原生接口封装有一些非常见类,如QWinTaskbarButton、QWinTaskbarButton、QWinThumbnailToolBar等,用于利用工具栏提供更多的信息,诸如…

【CTF Web】XCTF GFSJ0482 weak_auth Writeup(弱口令+密码爆破)

weak_auth 小宁写了一个登陆验证页面,随手就设了一个密码。 解法 随便输入一些字符,提示以 admin 登录。 使用 Burp 抓包。 导入密码字典。 进行爆破。 得到密码。 账号:admin 密码:123456取得 flag。 Flag cyberpeace{42c9664…

Servlet框架

简介 Servlet是运行在web服务器或应用服务器上的程序,他是作为来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。 使用Servlet可以手机来自网页表单的用户输入,呈现来自数据库或者其他源记录,还可以动态创…

解决网络ping不通问题

网络ping不通可能有多种原因,以下是一些常见的解决方法: 1. 检查IP地址和域名:确保你使用的是正确的IP地址或者域名来ping目标设备。如果IP地址或者域名错误,ping请求将无法到达目标设备。 2. 检查网络连接:首先确保…

【LeetCode刷题】153. 寻找旋转排序数组中的最小值

1. 题目链接2. 题目描述3. 解题方法4. 代码 1. 题目链接 153. 寻找旋转排序数组中的最小值 2. 题目描述 3. 解题方法 根据题目分析,可以明确一点,无论该数组如何旋转,都会有这样的一个性质,就是nums[0] > nums[n-1]&#xf…