主要内容

tonemapfarbman

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

描述

例子

LDR.= tonemapfarbman (HDR将高动态范围(HDR)图像转换为适合显示的低动态范围(LDR)图像,使用一种称为边缘保留分解的过程进行多尺度色调和细节处理。

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

例子

全部折叠

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

HDR = hdrread (“office.hdr”);

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

LDR = TONEMAP(HDR);imshow(LDR)

图中包含一个轴对象。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,...,namen,valuen

例子: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-元素数值向量,所有元素设置为1.5.为权重<1,输出图像中的细节量减少权重> 1,输出图像中的细节量增加。

输出参数

全部折叠

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

数据类型:uint8

提示

  • 这个函数使用了一个各向异性扩散过滤器,imdiffusefilt的近似加权最小二乘滤波器,如Farbman等人提出的。[1]

参考

[1] Farbman,Z.,R. Fattal,D.Lischinski和R.Szeliski。“用于多尺度音调和细节操纵的边缘保留分解。”美国计算机学会图形汇刊.第27卷,第3期,2008年8月,第1-10页。

介绍了R2018b