3.2.3 Quantization Techniques(HDR量化)(Advanced High Dynamic Range Imaging)Schlick TMO
3.2.3 Quantization Techniques(HDR量化)(Advanced High Dynamic Range Imaging)Schlick TMO
Schlick [341]提出了一种基于有理函数的算子,以提供一种直接直观的色调映射方法。 TMO定义为:
其中p∈[1,∞),它可以自动估算为
变量N是输出显示的位数,L0是HVS可以感知的监视器的最低亮度值。 由于将相同的函数应用于所有像素,因此在公式(3.9)中使用p是统一的量化过程。 可以使用如下自适应参数p进行非均匀量化处理:
其中k∈[0,1]是用户选择的不均匀权重,L w,avg(x)是围绕像素的给定区域的平均亮度强度。 这种不统一过程的行为通常与本地操作员相关。 Schlick在所有实验中均使用k = 0.5。 还提出了三种计算平均亮度强度值Lw,avg(x)的技术。 有关更多详细信息,请参阅Schlick的原始文章[341]。 这种不统一的过程可以由以下事实证明:
人眼在图像中从一个点连续移动到另一点。 对于眼睛所关注的每个点,都存在一个周围区域,该区域创建局部适应并修改亮度感知。 量化技术提供了一种简单且计算速度快的TMO。 参见图3.4。 但是,用户需要为每个图像指定适当的k值。
1059/5000
清单3.8提供了Schlick TMO [341]的MATLAB代码。完整代码可在文件SchlickTMO.m中找到。参数s模式指定所使用的Schlick技术的模型类型。共有三种模式:手动,自动和不一致。手动模式将参数p作为用户的输入。自动模式和非均匀模式分别使用均匀和非均匀量化技术。取决于使用的模式,变量p是p或p',nBit是输出显示的位数N,L0是L0,k是k。第一步是以一种健壮的方式(以避免出现不愉快的现象)来计算最大值L Max和最小亮度L Min,即计算百分位数。这些值可用于计算p。然后,基于s模式,选择三种模态之一,p由用户给定(手动模式),或者使用公式(3.9)(自动模式)或使用公式(3.10)(非均匀模式)计算。最后,通过应用公式(3.8)来减小亮度通道的动态范围。
原图
matlab自带的
%%
clc
clear
hdr=hdrread("Bottles_Small.hdr");
RGBout=SchlickTMO(hdr);
imshow(RGBout);
结果图
改进的算法
%% HDR量化
% Schlick TMO
clc
clear
hdr=hdrread("Bottles_Small.hdr");
hdr_r=hdr(:,:,1);
hdr_g=hdr(:,:,2);
hdr_b=hdr(:,:,3);
%亮度压缩
L=lum(hdr);
%计算最大亮度
Lmax=MaxQuart(L,0.99);
%计算最小亮度
Lmin=MaxQuart(L(L>0.0),0.01);
L0=1;
p=L0*Lmax/(2^8*Lmin);
Ld=p.*L./((p-1).*L+Lmax);%颜色校正
cc_s=0.5;
imgout=zeros(size(hdr));
for i=1:size(hdr, 3)imgout(:,:,i) = ((hdr(:,:,i) ./ Ld).^cc_s) .* Ld;
end
RGBout=ConvertRGBtosRGB(imgout,0);
%如果像素值大于1,压缩到1,如果像素值小于0,压缩到0
for i=1:size(hdr,1)for j=1:size(hdr,2)for k=1:size(hdr,3)if(RGBout(i,j,k)>1)RGBout(i,j,k)=1;endif(RGBout(i,j,k)<0)RGBout(i,j,k)=1;endendend
end
RGBout=RemoveSpecials(RGBout);
imshow(RGBout);
结果:
3.2.3 Quantization Techniques(HDR量化)(Advanced High Dynamic Range Imaging)Schlick TMO相关推荐
- 2.1.2 Capturing HDR Videos(Advanced High Dynamic Range Imaging )
2.1.2 Capturing HDR Videos(Advanced High Dynamic Range Imaging ) 目录 2.1.2 Capturing HDR Videos(Advan ...
- 3.1 TMO MATLAB 框架(Advanced High Dynamic Range Imaging )
3.1 TMO MATLAB 框架(Advanced High Dynamic Range Imaging ) 通常,无论属于哪一类TMO,都有两个共同的步骤. 本节描述了大多数但不是全部TMO使用的 ...
- 高动态范围光照(High Dynamic Range Imaging,简称HDRI或HDR)
1 HDR基本概念 高动态范围光照(High Dynamic Range Imaging,简称HDRI或HDR),是一种表达超过了显示器所能表现的亮度范围的图像映射技术,已成为目前游戏应用不可或缺的 ...
- HDR(High Dynamic Range Imaging)在摄影中指高动态范围成像
HDR(High Dynamic RangeImaging)在摄影中指高动态范围成像.国内的教程基本语焉不详,找到一篇比较详尽的国外教程翻译出来,希望对大家有帮助.^_^ 原文地址:http://ph ...
- wide dynamic range - WDR - 宽动态范围 - high dynamic range - HDR - 高动态范围
wide dynamic range - WDR - 宽动态范围 - high dynamic range - HDR - 高动态范围 高动态范围 (high dynamic range,HDR) 图 ...
- Python+OpenCV:高动态范围(High Dynamic Range, HDR)
Python+OpenCV:高动态范围(High Dynamic Range, HDR) 目标 Learn how to generate and display HDR image from an ...
- High Dynamic Range(HDR)图像介绍(一)
在工程技术领域,有许多涉及数字图像的应用程序.用它们创建的现代数码相机和扫描仪,采用先进的计算机图形处理技术,或用绘图程序制作.目前,大多数应用程序依赖在某种形式的图形表示上.数字图像在其生命周期中经 ...
- 概念术语之 high dynamic range(HDR)高动态范围
HDR这词大家可能并不陌生,但大部分人只是听过而已,在脑子并没有太多的概念,可能只是简单的认为HDR就是让照片拍得更好看,这倒也没错,但究竟开启HDR好在哪,开启了和没开启HDR又有什么不一样,何时才 ...
- Advanced Linq - Dynamic Linq query library: Add support for 'Contains' extension
原文链接: http://blog.walteralmeida.com/2010/05/advanced-linq-dynamic-linq-library-add-support-for-conta ...
最新文章
- NUC1003 Hangover
- java swing 表格不显示_JAVA SWING 表头不显示问题
- Java8 HashMap详解
- 计算机应用基础 马跃东,《纵观文化产业管理15》.pdf
- js防止表单重复提交
- oracle导出报错04063,Oracle EXP导出报错的解决方法
- Redmi K50标准版工信部入网:搭载骁龙870 没有12GB内存
- jQuery CSS 添加/删除类名
- 计算机网络原理-计算题汇总
- 中国大数据产业地图,四川61家大数据企业上榜!
- 第四课 vi编辑器使用
- 谷歌浏览器安装stylish插件笔记
- 工作,到底意味着什么
- vscode前端常用插件
- Interwine China 2009广州国际名酒展
- 微信小程序中使用JSAPI支付
- 钱多多第二阶段冲刺04
- 2021年山东大学软件学院项目实训记录(第一周)
- Linux系统下的nobody用户与nologin
- QGIS常用图源(谷歌中国、mapbox、esri、天地图等)(weixin公众号【图说GIS】)