Matlab中库函数imadjust()的使用细节

article/2025/9/25 2:26:31

不知道大家有没有使用这个函数时,出现结果异常、过曝的情况我在使用时,发现在官方文档中并未声明的细节。
结合开源的程序源码和实验结果发现该函数对矩阵进行处理时,会对参数指明的处理数据以外的内容进行调整,错误使用会导致图像异常过曝。

使用imadjust()

如果只是使用这个函数,不加除了被处理的图像外的其他参数,J = imadjust(I) 将灰度图像 I 中的强度值映射到 J 中的新值。这种情况下,imadjust 对所有像素值中最低的 1% 和最高的 1% 进行饱和处理。从而提高输出图像 J 的对比度。
使用截图

我们来加上第一个参数,J = imadjust(I,[]),并对低位增强高位抑制
在这里插入图片描述
J = imadjust(I) 对高位增强,低位抑制
在这里插入图片描述
再添加参数
J = imadjust(I,[low_in high_in],[low_out high_out]) 将 I 中的强度值映射到 J 中的新值,以使 low_in 和 high_in 之间的值映射到 low_out 到 high_out 之间的值。我们把高位投影到低位试试
在这里插入图片描述
那么按照这个逻辑,分别进的高位投射到低位(逆序)、低位投射到高位(逆序)的效果叠加起来等同于一次高位投射到低位(逆序)
是这样吗?
在这里插入图片描述
第一种的结果显然比第二种的结果要明亮许多,这意味着第一种在叠加时,有些像素中有些数字变大了。为什么会出现这种结果呢?
实际上,adjust在将指定区间映射到对应区间后,还有其他操作。

我们打开工作区,看看矩阵中数字的实际变化情况
在这里插入图片描述
1、整体imadjust的数据符合预计,和原图的值相加等于255。
2、高位在进行置换时,不在高位的灰度值也发生了变化。
3、低位变换时,不在低位的同样变换。

可见,在使用imadjust()函数操作原图像的部分区间进行灰度调整时,并不仅仅只对这个区间的灰度进行处理,而完全不管其他区间的灰度,而是将其他部分的灰度值向映射目标区域外的部分也进行了处理,从结果上看,
当我的处理是将0-127的灰度值向128-255投影时,在处理完原图像的0-127部分之后,再将所有的超出127 的部分置为128,然后结束操作。
推广言之,就是处理为 [a,b]向[a1,b1]投影时,先按照投影给出的函数投影(没给出函数时,默认为一条直线),完成后,将原图中所有小于a的灰度值置为a-1,所有大于b的灰度值置为b+1;
分别处理和一次性处理完成会产生差异的原因就在于此

在这里插入图片描述

那么如何保证叠加效果预期一致呢?
可以看到,尽管进行了9段的叠加,结果图像中并未出现过曝的问题。解决办法很简单,在进行叠加之前,将所有处理范围外的数字,全都置0,剔除这些影响因素


http://chatgpt.dhexx.cn/article/Hu89DuZw.shtml

相关文章

stretchlim matlab,matlab灰阶变换函数imadjust和stretchlim的c++实现

灰阶变换 首先介绍一下灰阶变换,一幅图像数据本身在存储的数据结构上为一个二维的矩阵,即一幅图像为m*n个密密麻麻的像素点构成。 image.png 然后,这些像素点有着一个值,这个值成为灰度值或者亮度值,值的范围为[0,255]…

在OpenCV里实现函数imadjust

imadjust 函数是针对灰度图像进行灰度变换的基本图像。 J = imadjust(f,[low_in; high_in],[low_out; high_out],gamma) 此函数将 f 的灰度值映像到 g 中的新值, 也就是将 low_in 与high in 之间的值映射到 low out 与 high out 之间的值。 low in 以下与 high in 以上的值可…

imadjust使用opencv实现

实现函数功能 J low_out (high_out - low_out).* ((I - low_in)/(high_in - low_in)).^ gamma [cpp] view plain copy print ? IplImage* ImageAdjust(IplImage *src, IplImage *dst, double low_in, double high_in, double low_out, double h…

python实现matlab stretchlim函数和imadjust函数

matlab 代码: [img,map]imread(“/home/zhongjia/test.png”); LOW_HIGHstretchlim(img); Jimadjust(img,[LOW_HIGH(1) LOW_HIGH(2)],[0 1],1); imwrite(J,"/home/zhongjia/test_result.png"); 实现功能是:对16位深度1024*1024大小的test.…

MATLAB图像处理imadjust()函数调节图像的对比度示例

imadjust()函数 Jimadjust(I) 将强度图像为I的值映射到J中的新值,使得1%的数据在低强度和高强度I时饱和。这将增加了输出图像J的对比度。 J imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT])将强度图…

matlab常用语句imadjust作用,matlab中imadjust函数的作用及应用举例

imadjust简介 imadjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。在matlab的命令窗口中键入: doc imadjust或者help imadjust就行了获得该函数的帮助信息, 键入type imadjust可以查看函数的源码。 调用格式&#…

matlab imadjust函数,imadjust从用法到原理—Matlab灰度变换函数之一

imadjust函数是MATLAB的一个工具箱函数,一般的语法调用格式为: f1=imadjust(f,[low_in high_in],[low_out high_out],gamma) (注:本文所述图像数据均为Uint8,对于Matlab,矩阵中的一个元素即是一个像素点) 该函数的意义如图1所示,把图像f灰度变换到新图像f1的过程中,f…

matlab imadjust函数,浅析matlab中imadjust函数

imadjust imadjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。在matlab的命令窗口中键入: doc imadjust或者help imadjust即可获得该函数的帮助信息, 键入type imadjust可以查看函数的源代码。 函数功能&#xff1…

matlab图像灰度调整——imadjust函数的使用

在MATLAB中,通过函数imadjust()进行图像灰度的调整,该函数调用格式如下: Jimadjust( I ) 对图像I进行灰度调整 Jimadjust( I,[low_in;high_in],[low_out;high_out]) [low_in;high_in]为原图像…

matlab——imadjust函数

作用: 对进行图像的灰度变换,即调节灰度图像的亮度或彩色图像的颜色矩阵。 格式: g imadjust(f,[low_in; high_in],[low_out; high_out]) 将图像I中的亮度值映射到J中的新值。即将low_in至high_in之间的值映射到low_out至high_out之间的值。…

4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波)、有约束滤波器(维纳滤波器)

4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波)、有约束滤波器(维纳滤波器) 文章目录 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波)、有约束滤波器(维纳滤波器)1 算法原…

MATLAB图像的恢复

一、实验类型:验证性实验 二、实验目的 1. 掌握退化模型的建立方法。 2. 掌握图像恢复的基本原理。 三、实验设备:安装有MATLAB 软件的计算机 四、实验原理 一幅退化的图像可以近似地用方程gHfn 表示,其中g 为图像,H为变形算…

图像恢复 Restormer: 彻底理解论文和源代码 (注释详尽)

文章目录 1. Restormer 论文2. Restormer 网络结构2.1 整体框架2.2 MDTA2.3 GDFN 3. 主要代码理解3.1 MDTA3.2 GDFN3.3 TransformerBlock3.4 一个测试实例 参考文献结语与思考 1. Restormer 论文 主要工作: [1] MDTA (Multi-Dconv Head Transposed Attention), 聚合…

【去噪去模糊去雨】Multi-Stage Progressive Image Restoration 多阶段渐进式通用图像恢复【CVPR2021】

论文:【CVPR2021】Multi-Stage Progressive Image Restoration 多阶段渐进式通用图像恢复 参考:多阶段渐进式图像恢复 | 去雨、去噪、去模糊 | 有效教程(附源码)|【CVPR 2021】 1. 研究问题: 图像恢复领域&#xff0c…

图像恢复及滤波处理

图像恢复及滤波处理 1.基本概念: a.图像恢复是通过计算机处理,对质量下降的图像加以重建或恢复的处理过程。因摄像机与物体相对运动、系统误差、畸变、噪声等因素的影响,使图像往往不是真实景物的完善映像。在图像恢复中,需建立造…

CVPR 2020 论文大盘点-图像增强与图像恢复篇

本文继上一篇 CVPR 2020 论文大盘点-去雨去雾去模糊篇 之后,继续盘点CVPR 2020 中低层图像处理技术,本篇聚焦于图像视频的增强与恢复,含如下四个方向: 图像与视频增强(Image&Video Enhancement)7 篇 图像恢复(Image Restoration )5 篇 图像与视频去噪(Image&V…

pytorch: 图像恢复问题的代码实现详解(derain,dehaze,deblur,denoise等通用)

文章目录 前言数据集训练数据集评估数据集测试数据集 网络模型自定义工具包网络训练和测试结语 前言 图像恢复是一类图形去噪问题的集合,在深度学习中可以理解为监督回归问题,主要包括图像去雨、图像去雾、图像去噪,图像去模糊和图像去马赛克…

图像恢复 SWinIR : 彻底理解论文和源代码 (注释详尽)

文章目录 1. SwinIR 论文2. SWinIR 网络结构2.1 整体框架2.2 浅层特征提取2.3 深层特征提取2.4 图像重建模块 3. 主要代码理解3.1 SwinIR3.2 MLP3.3 Patch Embedding3.4 Window Attention3.5 残差 Swin Transformer 块 (RSTB)3.6 HQ Image Reconstruction3.7 一个测试实例 4. 参…

基于张量分解的遥感图像恢复及常用高光谱遥感数据集

本文为初期学习总结,本篇文章总结了遥感高光谱图像研究背景、高光谱图像噪声的分类,介绍了基于张量的图像恢复方法及近年来对于张量分解的相关研究,总结了几个常用的图像评价指标,总结了高光谱遥感图像常用的数据集。仍有很多不足…

【CVPR2021】Multi-Stage Progressive Image Restoration 多阶段渐进式通用图像恢复

首发于jwxie.cn Multi-Stage Progressive Image Restoration 🔗 PDF Link 🍺 Github Code Section 1 介绍 图像恢复是一个从低质量的图像恢复出高清图像的任务。典型的低质量因素有噪声,模糊,水滴噪声,雾噪声等。这…