M 语言

# imlocalbrighten


将低光照图像提亮

# 语法

B, = imlocalbrighten(A)
B, = imlocalbrighten(A,amount)
B, = imlocalbrighten(___,'AlphaBlend',true)
B,D = imlocalbrighten(___)

# 说明

B, = imlocalbrighten(A) 会增强 RGB 或灰度图像 A 中的低光区域。示例


B, = imlocalbrighten(A,amount) 通过指定的量增强 A 中的低光区域。


B, = imlocalbrighten(___,'AlphaBlend',true) 可以通过执行 alpha 混合来指定是否保留输入图像的亮区。


B,D = imlocalbrighten(___) 返回输入图像中每个像素的黑暗度估计 D。

# 示例

增强低光图像亮度

将低光图像读入工作区。

A = imread("lowlight_2.jpg");

使用默认的亮度增加量增强低光图像。在蒙太奇中并排显示原始图像和增强后的图像。

B = imlocalbrighten(A);
montage({A,B});

再次增强低光图像,这次指定要应用于图像的亮度增加量。在蒙太奇中并排显示两个增强后的图像。

B2 = imlocalbrighten(A,0.6);
montage({B,B2});

使用 AlphaBlend 名称-值参数以在增强后的图像中保留原始图像的内容。查看第一个示例中增强的输出图像与 alpha 混合的输出图像。在 alpha 混合版本中与原始增强图像的比较中查看图像中央拱形入口上方墙壁的细节。

Bblend = imlocalbrighten(A,'AlphaBlend',true);
montage({B,Bblend});

获取每个像素的估计黑暗度。查看原始图像和黑暗度估计矩阵。

[~,D] = imlocalbrighten(A);
montage({A,D});

# 输入参数

A - 要增强的图像
RGB 图像 | 灰度图像

要增强的图像,指定为 RGB 图像或灰度图像。

数据类型: single | double | uint8 | uint16

amount - 增强图像的亮度增加量
1(默认) | 范围 [0, 1] 内的数字

增强图像的亮度增加量,指定为范围 [0, 1] 内的数字。当值为 1(默认值)时,imlocalbrighten 会尽可能地增强 A 的低光区域。当值为 0 时,imlocalbrighten 将返回未修改的输入图像。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

alphaBlend - 原始图像与增强图像的 alpha 混合
false(默认) | true

原始图像与增强图像的 alpha 混合,指定为数值或逻辑值 0(假)或 1(真)。Alpha 混合将原始图像与增强图像组合,以保留原始图像的亮区。当为真时,imlocalbrighten 使用黑暗度矩阵 D 的估计值来按每个像素的光照量比例保留输入图像的内容。

# 输出参数

B - 增强后的图像
数值数组

增强后的图像,作为与输入图像 A 具有相同大小和数据类型的数值数组返回。

D - 黑暗度估计
数值矩阵

输入图像中每个像素的黑暗度估计,作为数值矩阵返回。D 的大小与输入图像的前两个维度相同。

数据类型: double