图像处理(空域变换(上))

news2024/12/26 11:52:25

数字图像处理

参考视频

Task 1 亮度变换

1. 幂律变换

伽马变换本质上是对图像矩阵中的每个值进行幂运算。
幂函数 s = c r γ ( r ∈ [ 0 , 1 ] ) \text{幂函数}s=cr^γ(r\in[0,1]) 幂函数s=crγ(r[0,1])
其中,r为灰度图像的输入值(原来的灰度值),取值范围为[0,1]。s为经过伽马变换后的灰度输出值。c为灰度缩放系数,通常取1。γ为伽马因子大小。控制了整个变换的缩放程度。

(1)应用例子1:对比度增强

伽马变化对图像亮度影响效果

  • 当γ >1时,曲线在γ =1的下方,因此图像会变暗。
  • 当0<γ<1时,曲线在γ =1的上方,因此图像会变亮。
    在这里插入图片描述
    伽玛变换对图像对比度的影响主要体现在以下几个方面:
  • 增强低灰度区域的对比度:当伽马因子γ<1时,伽马变换会将低灰度区域映射到更宽的灰度区间,从而增强这些区域的对比度。这使得图像中的暗部细节更加明显
  • 增强高灰度区域的对比度:当伽马因子γ >1时,伽马变换会将高灰度区域映射到更宽的灰度区间,从而增强这些区域的对比度,这使得图像中的亮部细节更加清晰。

如下图所示,伽马因子γ<1时,图像变亮,随着γ的逐渐减小,暗部细节逐渐清晰。
在这里插入图片描述
如下图所示,伽马因子γ>1时,图像变暗,随着γ的逐渐增大,亮部细节逐渐清晰。在这里插入图片描述
因此在进行伽马变换进行对比度增强改善图像质量时,首先根据图像的的亮度,判断伽马值是大于1还是小于1,然后再选取合适的伽马值。

(2)应用例子2:伽马校正

在这里插入图片描述

计算机生成的图像通常是在线性颜色空间中创建的,在线性颜色空间中,像素值与光的强度成正比。
然而由于显示设备的这种非线性特性,如果不对图像进行校正,直接将线性颜色空间的图像显示在屏幕上,如图所示,由于显示器对于输入的图像呈非线性变换(如 y = x 2 y = x^2 y=x2 ),使得显示的图像过暗。
因此在显示前先用伽马校正( z = x 0.5 z=x^{0.5} z=x0.5),经显示器显示后( y = z 2 = x y=z^{2}=x y=z2=x)恢复为原来的图像。

2. 分段线性函数

在这里插入图片描述
如图所示,该分段线性函数在低灰度区域,斜率小于1,将很宽的输入压缩至很宽的输出,压缩低灰度区域;在中间的灰度区域,斜率大于1,将很窄的输入拉伸至很宽的输出,拉伸中间灰度区域。
因此该分段线性函数会压缩低灰度区域和高灰度区域,拉伸中间区域,从而,增强中间灰度区域的对比度,凸显出中间部分。

3. 灰度级分层

灰度级分层的两种基本形式如下:

  • 将感兴趣的范围内的灰度值显示为一个值,而其他灰度值显示为另一个值

  • 将感兴趣的范围内的灰度值变亮或变暗,而其他灰度值保持不变

如下图所示,(a)处理后的图像应为二值图像,所以对应(d),(b)处理后的应为灰度图像,所以对应图(c).
在这里插入图片描述

4. 比特位面图像

如下图所示,第一幅图为原图(灰度图像),下面8幅图为各个比特位上的图片(二值图像)。会发现越高位上的图片会显示大致的轮廓,而低位部分则显示细节。
注意:各个比特面上的图像均为二值图像,之所以看上去像灰度图像,是因为点的密集程度不一样。
在这里插入图片描述
在这里插入图片描述

5. 对数变换

s = c l o g ( 1 + r ) s=clog(1+r) s=clog(1+r)

  • 其中c是常数,r为输入灰度值,s为输出灰度值
  • 该变换的形状类似于gamma曲线
  • 请注意: gamma曲线是可变的,而对数函数的形状是固定的。
  • 加1的目的是处理像素值为0的情况带来的异常
    对数变换实现了图像灰度扩展和压缩的功能。它扩展低灰度值而压缩高灰度值,让图像的灰度分布更加符合人的视觉特征。

6. 对比拉伸变换

s = T = 1 1 + ( m r ) E s=T=\frac{1}{1+(\frac{m}{r})^E} s=T=1+rm)E1

在这里插入图片描述

7.直方图均衡算法

算法步骤:
(1)对输入图像计算其直方图,并计算其归一化直方图 p r p_r pr
(2)利用下面的累计映射计算输入图像中每个灰度级 r k r_k rk对应的输入图像的灰度级 s k s_k sk
s k = T ( r k ) = ∑ j = 1 k p r ( r j ) = ∑ j = 0 k n j n , k = 0 , 11 , 2 , . . . , L k − 1 s_k=T(r_k)=\sum_{j=1}^{k} {p_r(r_j)}=\sum_{j=0}^{k}{\frac{n_j}{n}},k=0,11,2,...,L_k-1 sk=T(rk)=j=1kpr(rj)=j=0knnj,k=0,11,2,...,Lk1
(3) 注意这时 s k s_k sk为一个属于区间[0,1]的浮点数,可以通过 m k = [ s k ∗ ( L − 1 ) ] m_k=[s_k*(L-1)] mk=[sk(L1)] s k s_k sk转换为一个整数的灰度级别,其中[]代表着一种取整操作,这里不妨假设为四舍五入的取整运算
注意:这种取整运算会导致多个输入灰度级对应同一个灰度级的输出,即 m p = m p + 1 = . . . . . . = m q = m q + 1 m_p=m_{p+1}=... ...=m_q=m_{q+1} mp=mp+1=......=mq=mq+1,这时输出图像的灰度级 m k m_k mk对应的归一化直方图中的概率值为对应的多个输入灰度级的概率之和。
如下图所示,经过直方图均衡化后,像素值大多集中在高灰度值附近,造成这种原因的可能性就是中间有多个连续的像素值的数量都为0,然后进行累加运算后全部都映射到了150附近,因此图像从原来的过暗到过亮。因此直方图有时并不完美。

在这里插入图片描述

直方图连续运用多次以后,直方图和第一次均衡相差不多。

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

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

相关文章

<数据集>集装箱缺陷识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3793张 标注数量(xml文件个数)&#xff1a;3793 标注数量(txt文件个数)&#xff1a;3793 标注类别数&#xff1a;4 标注类别名称&#xff1a;[DAMAGE - DEFRAME, DENT, DAMAGE - RUST, DAMAGE - HOLE] 序号类别名…

高分六号卫星助力农业监测_卫星介绍_论文分享_数据获取

卫星遥感已经成为农业发展的重要支持工具。《“数据要素X”三年行动计划(2024-2026年)》指出,在现代农业交通运输、应急管理等领域鼓励探索利用遥感数据。为什么高分六号会经常应用于农业检测呢&#xff1f;本文将介绍高分六号卫星的农业检测特性、在农业应用中的优势、具体农业…

Video视频抽帧和WebCodecs API视频抽帧介绍

目录 mp4Box抽帧 ffmpeg抽帧 video元素抽帧 WebCodecs 核心API 视频文件是一个容器&#xff0c;里面有很多不同的轨道信息。如&#xff1a;图像、声音、字幕等。而视频图像信息又是由一系列图片序列帧的集合。如10秒时长的视频&#xff0c;假设每秒30帧。那大概有300条图像…

二叉树——9.找树左下角的值

力扣题目链接 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 示例&#xff1a; 输出&#xff1a;7 题干很简单&#xff0c;找到树的最后一行&#xff0c;在该行找到最左边的值&#xff0c;结合完整代码进行分析。 完整代码如下&#xff1a; class Solution:d…

Django后台数据获取展示

​ 续接Django REST Framework&#xff0c;使用Vite构建Vue3的前端项目 1.跨域获取后台接口并展示 安装Axios npm install axios --save 前端查看后端所有定义的接口 // 访问后端定义的可视化Api接口文档 http://ip:8000/docs/ // 定义的学生类信息 http://ip:8000/api/v1…

Springboot发邮件如何配置SMTP服务器信息?

Springboot发邮件安全性考虑&#xff1f;如何用Springboot发信&#xff1f; 在 SpringBoot中配置邮件发送功能相对简单&#xff0c;但需要正确设置 SMTP 服务器信息。AokSend将详细介绍如何在 SpringBoot应用程序中配置 SMTP 服务器信息&#xff0c;以实现邮件发送功能。 Spr…

如何构建一个高效的编程学习笔记系统(万字总结)

你是否曾经在编程学习的海洋中迷失方向&#xff1f;是否感觉自己学了很多&#xff0c;却总是记不住关键知识点&#xff1f;别担心&#xff0c;今天我们将一起探索一种革命性的笔记方法&#xff0c;它将彻底改变你的学习体验&#xff01; 目录 引言&#xff1a;为什么我们需要…

鸿蒙(API 12 Beta3版)【本地媒体会话概述】 音视频播控服务

交互过程 本地媒体会话的数据源均在设备本地&#xff0c;交互过程如图所示。 此过程中涉及两大角色&#xff0c;媒体会话提供方和媒体会话控制方。 说明 媒体会话控制方为系统应用&#xff0c;三方应用可以成为媒体会话提供方。 本地媒体会话中&#xff0c;媒体会话提供方通…

[大模型实战] DAMODEL云算力平台部署LLama3.1大语言模型

[大模型实战] DAMODEL云算力平台部署LLama3.1大语言模型 目录 一、LLama3.1二、DAMODEL云算力平台2.1 提供的服务2.1.1 AI训练2.1.2 AI推理2.1.3 高性能计算2.1.4 图像&#xff0f;视频渲染2.1.5 定制化部署 2.2 支持的GPU 三、在DAMODEL部署LLama3.13.1 在DAMODEL创建实例&…

【案例43】打开节点-后台任务日志优化案例

问题现象 通过SPR日志发现 打开节点-后台任务日志节点sql调用严重。 通过nmc查看&#xff0c;后台线程耗时20s &#xff0c;基本都卡在sql层面 一直在执行如下sql selectl.pk_workingtasklog frompub_workingtasklog l inner joinpub_alertregistry ron l.pkregistry r.pk_a…

Black Forest Labs 的 Flux——文本转图像模型的下一个飞跃,它比 Midjourney 更好吗?

一、前言 Black Forest Labs是开创性稳定扩散模型的团队&#xff0c;现已发布Flux——一套最先进的模型&#xff0c;有望重新定义 AI 生成图像的功能。但 Flux 是否真正代表了该领域的飞跃&#xff1f;它与 Midjourney 等行业领导者相比如何&#xff1f;让我们深入探索 Flux 的…

【Kubernetes】Service 概念与实战

Service 概念与实战 1.通过 Service 向外部暴露 Pod2.Service 的多端口设置3.集群内部的 DNS 服务4.无头 Service 在 Kubernetes 中部署的应用可能对应一个或者多个 Pod&#xff0c;而每个 Pod 又具有独立的 IP 地址。Service&#xff08;服务&#xff09;能够为一组功能相同的…

DI (providedIn: XXXModule)

angular版本为^17.3.0&#xff1b; 依赖注入Module 代码结构如下&#xff1a; 点击后为 demo2 works!demo2 providedIn Demo1Module depdemo2 works!demo2 providedIn Demo1Module 打包后大小为 改写为 demo2去掉 imports: [Demo1Module], 打包后大小为 结果比较&#…

DAMA学习笔记(十五)-数据管理组织与角色期望

1.引言 随着数据领域的快速发展&#xff0c;组织需要改进管理和治理数据的方式。当前&#xff0c;大多数组织正面临着越来越多的数据。这些数据格式多样、数量 庞大&#xff0c;并来源于不同的渠道。由于数据数量和种类的增加&#xff0c;加剧了数据 管理的复杂性。与此同时&am…

shiro注解不起作用:shiro进行权限校验时,@RequireRoles(“admin“)注解不起作用的解决方法

今天在写前后端分离项目时&#xff0c;用jwt加shiro进行登录权限校验时&#xff0c;RequireRoles("admin")注解不起作用&#xff0c;记录一下。 前提&#xff1a;数据库里面的user_type代表用户类型 &#xff1a;0普通用户 &#xff1b;1&#xff1a;专家&#xff1…

Introduction to Snapdragon Profiler (Snapdragon 分析器)

Introduction to Snapdragon Profiler {Snapdragon 分析器} 1. Snapdragon Profiler2. Release Notes3. Tools and resourcesReferences Snapdragon Profiler (骁龙分析器) https://www.qualcomm.com/developer/software/snapdragon-profiler Snapdragon Profiler Documentati…

HAProxy基本配置及参数实操

目录 ​编辑什么是负载均衡 为什么用负载均衡 四层和七层的区别 实验环境 实验步骤 webserver上安装nginx 启动nginx 安装haproxy 编辑配置文件 多进程 多线程 SORRY SERVER 访问重定向 maxconne最大可承受连接 socat 工具 常用示例 ha p r ox y 的 算 法 静 …

思科静态路由配置1

#路由协议实现# #任务一静态路由配置1# #1配置Switch-A的名称及其接口IP地址 Switch>enable Switch(config)#hostname Switch-A Switch-A(config)#ip routing Switch-A(config)#int f0/1 Switch-A(config-if)#no switchport Switch-A(config-if)#ip add 192.168.10…

leetcode日记(72)最大矩形

依旧是看了答案才知道大概方法…太难想到了 和上一道题思路相似&#xff01;可以直接调用上题的函数&#xff0c;只不过调用前的准备非常难想到&#xff0c;就是建造形状相同的矩阵&#xff0c;第i行j列的元素是i行中j列前相邻的“1”的个数。 class Solution { public:int m…

RS®ZN-Z8x 开关矩阵

R&SZN-Z8x 开关矩阵 专为多端口矢量网络分析仪测量而设计 R&SZN-Z8x 开关矩阵经过优化设计&#xff0c;专门用于罗德与施瓦茨的矢量网络分析仪。这款经济高效的多方位解决方案可用于多端口设备或多个设备的简单和复杂的测量任务。开关矩阵支持宽频率范围&#xff0…