【图像处理与机器视觉】灰度变化与空间滤波

基础

空间域与变换域

空间域:认为是图像本身,对于空间域的操作就是对图像中的像素直接进行修改
变换域:变换系数处理,不直接对于图像的像素进行处理

邻域

图像中某点的邻域被认为是包含该点的小区域,也被称为窗口

空间滤波

邻域选择空间域中的一小块区域,对于邻域中的像素运用算子T,并在该位置产生一个输出;随后将邻域的原点移动到下一个位置,并且重复前面的过程,生成下一个位置的值,当邻域的大小为1*1的时候,输出像素只取决于输入像素,而与周边像素无关

灰度变换函数

(1)反转变换:s = (L-1) - r
r为输入图像像素,s为输出图像像素,[0,L-1]为图像的灰度集
作用:使黑白反转
(2)对数变换: s = c log ⁡ ( 1 + r ) s= c\log(1+r) s=clog(1+r)
c为常数,r>=0,使用对数变换可以让原图的灰度进行压缩,避免超出设备的限制,如图所示,将较低的灰度提高到了中间,同理还有其他变换函数也能起到相同或者相反的作用
在这里插入图片描述
(3)幂变换: s = c ⋅ r γ s=c\cdot r^\gamma s=crγ
gamma小于1的时候,提高了灰度级,gamma大于1时,降低了灰度级
(记住图片就好)
在这里插入图片描述

直方图处理(重要)

对于一个灰度级范围为[0,L-1]的数字图像,其直方图表示为 h ( r k ) = n k h(r_k) = n_k h(rk)=nk,其中rk代表着第k级灰度,nk是图像中处在该灰度级的像素个数
归一化: p ( r k ) = h ( r k ) / M N p(r_k)=h(r_k)/MN p(rk)=h(rk)/MN
p是灰度级在图像中出现的概率估计,所有分量加起来之和为1
在这里插入图片描述
从左至右分别为暗图片,两图片,低对比度图片,高对比度图片

直方图均衡

目的就是将聚集在一起的灰度值变得“平坦”得分布在所有灰度级上,从最终结果上来说可以认为增加了对比度,同时将过亮或者过暗的图片调整正常。
这里我们不对于直方图均衡的具体原理进行细究,如想了解清楚请查看此处:直方图均衡化原理
理想情况下,均衡后的连续函数会使所有灰度级的概率密度全部相等
在这里插入图片描述
以下为实际遇到时的处理:
(这里也可以跳转我之前做过的直方图均衡/匹配实验,内含matlab代码:https://blog.csdn.net/weixin_46876169/article/details/137008120?spm=1001.2014.3001.5501)
e.g.一幅图大小为64*64,其灰度级范围为[0,7],归一化的灰度分布如下表所示:
在这里插入图片描述
直方图均衡变换函数为: s k = T ( r k ) = ( L − 1 ) ∑ j = 0 k p r ( r j ) s_k = T(r_k)=(L-1)\sum\limits_{j=0}^kp_r(r_j) sk=T(rk)=(L1)j=0kpr(rj)
可以计算得到: s 0 = 7 × p r ( r 0 ) = 7 ⋅ 0.19 = 1.33 s_0 = 7 \times p_r(r_0) = 7 \cdot 0.19 = 1.33 s0=7×pr(r0)=70.19=1.33 s 1 = 7 p r ( r 0 ) + 7 p r ( r 1 ) = 3.08 s_1= 7p_r(r_0) + 7p_r(r_1) = 3.08 s1=7pr(r0)+7pr(r1)=3.08,同样有s2=4.55,s3=5.67,s4=6.23,s5=6.65,s6=6.86,s7=7.00
将这些小数进行取整到最近的整数:
在这里插入图片描述
通过这一组式子,我们可以得到映射关系,原本灰度级为0的像素映射到1,灰度级为1的像素映射到3,其他类似
在这里插入图片描述
我们可以发现,均衡后的直方图在亮度上整体有了提高,同时尽可能均匀的平铺在所有灰度级中

直方图匹配

有时候直方图均衡处理完的图片并不满足我们需要的效果,比如对于上图我们只想提高亮度,而不想提高其对比度,那么通过直方图均衡这样的方法就没法做到。此时我们可以选取一张我们希望的亮度与对比度的图片,使用直方图匹配的方法来将原直方图变为我们需要的样子。
这里我们仍然忽略繁杂的理论推导,直接来看一看具体的例子,假设变换对象仍然为原来的图片,新的参考图的直方图给在了图中:
在这里插入图片描述
(1)对于原图与参考图均进行直方图均衡:
在这里插入图片描述
在这里插入图片描述
将s的值与G(z)的值相对应,每个s取最接近的G(z)值,当s离两个G(z)值一样接近时,取较小的那个,最终可以得到s对应z的映射,再加上原本r到s的映射,最终就能得到r到z的映射
在这里插入图片描述
在这里插入图片描述
如此就可以得到目标的直方图,需要注意的是,映射完后原图的直方图各灰度级概率密度并不与目标图完全一致,而是指分布一致
在这里插入图片描述

空间滤波

滤波是指通过或拒绝一定范围内的频率分量,例如能够通过低频分量的滤波器叫做低通滤波器,最终效果可以对一幅图片进行模糊处理。
根据执行的操作可以分为:线性空间滤波器和非线性空间滤波器去
对于一个窗口为3x3的滤波器,其输出为各位置上的系数与对应像素值的乘积之和
如果期望图像中的像素变化为以该像素为中心的3x3邻域的平均灰度,可以使用 R = 1 9 ∑ i = 1 9 z i R = \frac{1}{9}\sum\limits_{i=1}^9z_i R=91i=19zi

平滑空间滤波

平滑滤波用于模糊处理和降低噪声
模糊处理经常用于预处理任务,可以去除图像中的一些噪声

平滑线性滤波器

可以归入低通滤波器,主要作用是降低噪声,去除图像中的不相关细节,但也可能导致边缘模糊或者由于灰度级数量不足导致的伪轮廓
在这里插入图片描述
加权平均滤波:
在这里插入图片描述

非线性滤波器

统计排序滤波器是一种非线性滤波器,通过滤波器中包围的图像中所含像素的排序来决定中心像素的值
例如:中值滤波器,将滤波器内灰度的中值代替滤波器中心的值,此外除了取中值,还可以取最大值(最大值滤波器),最小值(最小值滤波器)
中值滤波器对于处理脉冲噪声(椒盐噪声)非常有效

锐化空间滤波器

对于一阶微分和二阶微分的定义:
一阶微分:(1)在恒定区域为0(2)在斜坡或台阶的起点处非0(3)在斜坡上非0
二阶微分:(1)在恒定区域为0(2)在台阶或斜坡的起点处非0(3)在斜坡上为0
在这里插入图片描述

使用拉普拉斯算子进行图像锐化

拉普拉斯算子是一种各向同性微分算子,这种滤波器的响应与其以何方向作用在图像上无关。
对于两个变量的拉普拉斯算子,
∇ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 \nabla^2f=\frac{\partial^2f}{\partial x^2}+\frac{\partial^2f}{\partial y^2} 2f=x22f+y22f
将其以离散的形式表述,我们就可以得到:
在这里插入图片描述
对于y也是同理:
在这里插入图片描述
故最终可以得到:
在这里插入图片描述
需要注意的是,拉普拉斯算子所产生的是一种滤波,可以认为是一种滤镜,和原图进行叠加才能起到相应的作用:

当拉普拉斯算子的中心常数为负时,c=-1,否则c=1

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

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

相关文章

Chrome 调试技巧

1. alert 在最早的时候,javascript 程序员调试代码都是通过 alert 进行,但 alert 会让整个程序被打断,并且还有一个很大的缺点,调试完成之后,如果忘记将 alert 删除 or 注释掉,导致别人访问该页面时会莫名…

动画技术在AI绘画中的革新作用

引言: 随着人工智能技术的飞速发展,AI绘画作为其应用领域之一,已经引起了艺术和技术界的广泛关注。动画技术,作为视觉艺术的重要组成部分,与AI绘画的结合不仅为传统绘画带来了新的活力,也推动了创意表达和艺…

vscode 默认终端(Terminal) 为CMD,但是新建是powerShell

☆ 问题描述 vscode 默认终端(Terminal) 为CMD,但是新建是powerShell ★ 解决方案 随便设置其他为默认,然后再设置回来CMD为默认就行了,实在不行就重装vscode吧… ✅ 总结 应该是vscode的小bug

计算机网络学习实践:模拟PPP协议验证虚拟局域网(VLAN)

计算机网络实践:模拟PPP协议&&验证虚拟局域网(VLAN) 挺有意思的大家可以跟着做一做,我是跟着韩志刚老师的视频做的 https://www.bilibili.com/video/BV1Qr4y1N7cH?p31&vd_source7831c5b97cfc5c745eb48ff04f6515e7 …

【赠书第27期】向AI提问的艺术:提示工程入门与应用

文章目录 前言 1 问题的构建 1.1 明确性与具体性 1.2 结构化与层次性 1.3 相关性与针对性 2 提问的技巧 2.1 简洁明了 2.2 避免歧义 2.3 使用自然语言 3 与AI的互动策略 3.1 耐心与理解 3.2 逐步引导 3.3 反馈与调整 4 总结与展望 5 推荐图书 6 粉丝福利 前言 …

31.线性变换及对应矩阵

文章目录 1. 线性变换2. 特殊矩阵2.1 投影矩阵2.2 平移矩阵2.3 旋转矩阵2.4 三维转二维矩阵 3. 基向量的线性变换3.1 代数形式3.2 矩阵形式 4. 坐标5. 求导 1. 线性变换 线性代数从线性变换开始,是线性代数的另外一个起点。很多物理学家并不关系坐标的值&#xff0…

gitblit 环境搭建,服务器迁移记录

下载 Gitblit: http://www.gitblit.com/ JDK:gitblit网站显示需要jdk1.7,这里用的1.8。 Git:到官网下载最新版本安装 1). 分别安装JDK,Git,配置环境变量,下载并解压Gitblit 2). 创建代码仓库 …

IDEA配置Java远程调试,以CVE-2024-4956为例

背景 学习代码审计,看到一些Java的漏洞,想要动手调试,复现漏洞搭建环境可以使用docker快速创建,了解到Java可以远程调试,本文记录学习Java远程调试环境搭建的过程。 远程调试的原理 如下图(图源&#xf…

数据库索引的理解

目录 1.索引是什么,解决了什么问题 2.索引付出了什么代价 3.如何使用sql索引,有何注意事项 普通索引: 唯一索引: 主键索引(Primary Key Index): 删除索引: 创建主键索引的基本语法: 4.索引背后的数据结构 1.索…

玩转Linux进度条

准备工作&#xff1a; 一.关于缓冲区 首先&#xff0c;咱们先来一段有意思的代码&#xff1a; #include<stdio.h> #include<unistd.h> int main() {printf("you can see me");sleep(5);} 你可以在你的本地运行一下&#xff0c;这里我告诉大家运行结果…

如何用python做一个用户登录界面——浔川python社

1 需解决的问题&#xff1a; 1.1如何用python做一个用户登录界面&#xff1f; 1.2需要用到哪些库、模块&#xff1f; 2 问题解决&#xff1a; 2.1 回答 1.1 &#xff1a;合理即可&#xff0c;无标准回答。 2.2 回答 1.2 &#xff1a;tk库&#xff08;缩写&#xff09;、GUL界面…

appium元素定位工具_uiautomatorviewer.bat

特点&#xff1a; uiautomatorviewer是android-sdk自带的元素定位工具uiautomatorviewer只能用于安卓系统&#xff1b;它是通过截屏分析XML布局文件方式&#xff0c;来提供控件信息的查看服务 uiautomatorviewer.bat 基本使用 路径&#xff1a;这个工具是Android SDK中自带&…

项目中统一异常处理

项目中统一异常处理 1.异常处理框架图2.实现 1.异常处理框架图 异常处理除了输出在日志中&#xff0c;还需要提示给用户&#xff0c;前端和后端需要作一些约定&#xff1a; 错误提示信息统一以json格式返回给前端。以HTTP状态码决定当前是否出错&#xff0c;非200为操作异常。…

QML信号连接到c++的槽函数(五)

文章目录 前言一、QML Signal and Handler Event System二、QML信号连接到c++的槽函数代码实例1. 创建一个QML 工程2. 用C++ 实现一个QML Types3. 代码实例4. 运行结果总结参考资料前言 本文主要介绍,如何将QML 中的信号连接到C++ 中的槽函数 软硬件环境: 硬件:PC 软件:wi…

在国内PMP含金量并不高?

PMP已经在全球194个国家和地区得到广泛认可&#xff0c;自1999年开始在国内实施。PMP被认为是项目管理专业身份的象征&#xff0c;是项目经理最重要的资质。获得PMP证书意味着个人的项目操作水平已经得到了PMI的认可&#xff0c;具备国际专业项目操作者水平&#xff0c;有资格专…

大模型应用之基于Langchain的测试用例生成

一 用例生成实践效果 在组内的日常工作安排中&#xff0c;持续优化测试技术、提高测试效率始终是重点任务。近期&#xff0c;我们在探索实践使用大模型生成测试用例&#xff0c;期望能够借助其强大的自然语言处理能力&#xff0c;自动化地生成更全面和高质量的测试用例。 当前…

[数据集][目标检测]旋风检测数据集VOC+YOLO格式157张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;159 标注数量(xml文件个数)&#xff1a;159 标注数量(txt文件个数)&#xff1a;159 标注类别…

1. MySQL 数据库的基本操作

文章目录 【 1. SQL 的书写规则 】大小写规则常量的表示注释 【 2. RDBMS 术语 】Table 表Filed 域/字段Column 列Record 记录NULL 空值Constraint 约束数据的完整性范式 【 3. 数据库基本操作函数 】3.1 SHOW DATABASES 显示数据库3.2 CREATE DATABASE 创建数据库3.3 ALTER DA…

STM32-14-FSMC_LCD

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU 文章目录 1. 显示器分类2. LCD简…

[Windows] 植物大战僵尸杂交版

游戏包含冒险模式、挑战模式、生存模式三种不同玩法。冒险模式主打关卡闯关&#xff0c;挑战模式则挑战特殊设计的关卡&#xff0c;生存模式结合无尽模式和特殊地图&#xff0c;各具特色。玩家可根据喜好自由选择模式&#xff0c;体验不同的游戏乐趣。快来尝试这款独特的pvz游戏…