主要内容

tonemapfarbman

使用边缘保持的多尺度分解将HDR图像转换为LDR

描述

例子

异地恋= tonemapfarbman (HDR将高动态范围(HDR)图像转换为适合显示的低动态范围(LDR)图像,使用称为边缘保持分解的过程进行多尺度色调和细节操作。

异地恋= tonemapfarbman (HDR名称,值使用一个或多个名称-值对来控制音调映射的各个方面。

例子

全部折叠

将高动态范围(HDR)图像加载到工作区中。

HDR = hdrread(“office.hdr”);

使用基本色调映射功能将HDR图像转换为低动态范围(LDR)图像tonemap.显示结果。LDR图像具有可接受的动态范围,但颜色是柔和的。

LDR =色调图(HDR);imshow(异地恋)

图中包含一个轴对象。axis对象包含一个image类型的对象。

方法重复转换tonemapfarbman函数的默认实参值。显示结果。颜色看起来比使用LDR创建的图像更饱和tonemap函数。然而,图像是明亮的,对比度差,如在树的阴影。亮度和对比度差表示默认值“曝光”太大了。

RGB = tonemapfarbman(HDR);imshow (RGB)

图中包含一个轴对象。axis对象包含一个image类型的对象。

方法重复转换tonemapfarbman函数的值较小“曝光”使图像变暗。显示结果。图像对比度得到改善。该图像还显示了在明亮区域(如天空、道路和显示器)的像素值剪辑的减少。

RGB2 = tonemapfarbman(HDR,“曝光”, 1.5);imshow (RGB2)

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

高动态范围图像,指定为——- - - - - -n矩阵或——- - - - - -n3数组。

数据类型:|

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:LDR = tonemapFarbman(HDR,'饱和度',2.1);

范围压缩,指定为逗号分隔的对,由“RangeCompression”和一个范围为[0,1]的数字。值为1表示最大压缩,值为0表示最小压缩。

饱和度,指定为由逗号分隔的对组成“饱和”一个非负数。推荐的范围“饱和”是[0,5]。随着饱和度的增加,颜色变得更加丰富和强烈。随着饱和度的降低,颜色逐渐变灰。的“饱和”参数不影响灰度HDR图像。

曝光,指定为逗号分隔的对,由“曝光”一个正数。推荐的范围“曝光”是(0,5)。当这个值减小时,曝光长度减小,因此图像变暗。随着这个值的增加,曝光长度也会增加,因此图像会变亮。

刻度数,指定为逗号分隔的对,由“NumberOfScales”一个正整数。推荐的范围“NumberOfScales”是[1,5]。默认的刻度数为长度(权重当你指定“重量”.否则,默认的刻度数为3.

细节层的权重,指定为逗号分隔的对,由“重量”和一个n-元素向量的正数,其中n是否指定了刻度数“NumberOfScales”.每种元素的推荐范围权重是(0,3)。的默认值“重量”是一个n-element数值向量,所有元素设置为1.5.为权重<1,输出图像中的细节量减少和权重>1,输出图像中的细节量增加。

输出参数

全部折叠

低动态范围图像,指定为大小相同的数值数组HDR

数据类型:uint8

提示

  • 该函数使用各向异性扩散滤波器,imdiffusefilt,为加权最小二乘滤波器的近似,由Farbman等人提出。[1]

参考文献

[1]法布曼,Z., R.法塔尔,D.利斯钦斯基,R.塞利斯基。多尺度色调和细节操作的边缘保持分解ACM图形学汇刊.第27卷第3期,2008年8月,第1-10页。

版本历史

在R2018b中引入