问题标签 [hdr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1875 浏览

c++ - 从 HDR 图像中选择亮度(曝光)

我目前被困在图片中的视频项目上。

问题 :

我正在从 UE4 中提取图片,由于一个错误,在渲染屏幕截图期间并未考虑所有灯光。输出是 HDR 图像。我想获得更好的亮度,因为导出的图片很暗,就像第一次曝光一样。

在此处输入图像描述

使用 UE4 中的“曝光偏差”参数,我可以使我的场景具有良好的亮度,但不能将此参数应用于屏幕截图渲染: 在此处输入图像描述

尝试:

使用 Tonemapper 算法(特别cv::TonemapDrago是)我可以获得更好的图像结果: 在此处输入图像描述

就我而言,色调映射算法的主要问题是因为全局亮度会根据区域的亮度而变化:在第二张图像中,窗口添加了大量光线,因此该算法会降低所有亮度以调整平均值。在渲染的视频中,光线变化非常残酷。

我试图改变亮度和饱和度但没有成功。我已经修改了TonemapDrago尝试在算法的某些步骤中使用常量的代码。

问题 :

我想从 HDR 图像中“选择曝光时间”。Tonemap 基于同一图像的多个曝光时间,在我的情况下并不有趣。

欢迎任何其他想法。

编辑

CV::Mat 深度为 5,类型为 CV_32FC3

cout << mat.step给我19200

这是我用来尝试解决问题的 2 个示例:

第一张图片

带光窗的图像

编辑 2:

无法使用 gimp 打开 .HDR 图片,使用“explosure blend”插件打开事件。我能够使用 Photoshop 获得足够好的结果。知道背后的算法吗?OpenCV 的 6 个 Tonemap 算法中的任何一个都允许选择曝光校正。 在此处输入图像描述

编辑 3:

我已经按照 openGL tuto中的算法解释,它给了我这个 C+ 代码:

将此算法应用于我的 .HDR 图片,即使对伽马和曝光进行了 1 和 1 的校正,我也得到了非常明亮的结果: 在此处输入图像描述

阅读代码,有一些错误,因为 1 和 1 作为参数不应该修改图片。解决了这个问题,答案已发布。非常感谢@user3896254(Ge 在评论中也看到了)

0 投票
2 回答
1996 浏览

python - OpenCV-Python createMergeDebevec 返回一个 Inf 数组

我正在尝试让一些与 HDR 相关的函数与 OpenCV-Python 一起使用:特别是我正在尝试重现OpenCV C++ HDR 教程。不幸的是,生成的 hdr 图像/数组完全是白色的(所有值都是 Inf)。这是一个MCVE。1.jpg、2.jpg、3.jpg 均为 870 × 580 RGB(内部 RGB KODAK sRGB 显示器)JPG 图像,曝光时间分别为 1/3200、1/800 和 1/200。我现在已经用另外 2 个 JPG 图像集对此进行了测试,其中一个可在Wikimedia上找到。

需要注意的一个有趣的事情是,“times”数组在merge.process 调用之后被修改了

我正在使用 OpenCV 版本:

merge.process 调用的签名如下:

0 投票
0 回答
52 浏览

image - 输入图像序列(具有不同曝光)到 HDR 的任何好的配准算法?

曾尝试通过中值强度值获得具有匹配二进制图的全局运动矢量,性能不佳,还有其他想法吗?

0 投票
1 回答
264 浏览

java - 在使用 HdrHistogram java 库时需要帮助

我正在使用 HdrHistogram java 库,但没有得到所需的输出。你能帮我理解图书馆或预期值有错误吗?

在这种情况下,我期望输出为 1000000,但实际输出为 1000003

为什么会这样。我的 Maven 设置是:-

0 投票
1 回答
746 浏览

webgl - 实现 OpenGL 的 glDrawBuffers 的 webGl 替代方法是什么?

我正在通过 HDR 实现 Bloom 后期处理效果。我正在使用一个脚手架,它是一个在线教程来实现相同的效果,但基于(教程)最新版本的 OpenGL。我正在使用带有 OpenGL ES 2.0 的 WebGL 1.0 来编写着色器脚本。一个例子是这个 renderBuffer 生成脚本(注意第 4 行):

0 投票
1 回答
590 浏览

c++ - 如何广色域,从8bit转换为10bit

  1. 我知道我们在电视上看的视频是压缩的。色域范围会很窄。我想知道是否有神奇的方法可以实现扩展。杜比声称感知量化器(PQ)EOTE。有两个功能例如。Perceptual Quantizer(PQ)EOTE这个问题就像将 bt709 转换为 bt2020 的方式。
  2. 我想像 x264 一样将 8 位转换为 10 位。计算机只支持 8 |16|32 位。所以哪种数据类型可以保存 10 位。有人说我们使用 16 位,最后六位我们使用零来填充。是吗,我不认为那是好方法。非常感谢
0 投票
1 回答
3056 浏览

three.js - 编辑器中的threejs hdr环境图

我想扩展 threejs 编辑器,以便能够加载类似于此示例的 hdr 环境映射:http: //threejs.org/examples/#webgl_materials_envmaps_hdr

我在 app.js Start() 函数中成功加载了示例代码,不知何故,当在编辑器中执行完全相同的代码时,示例圆环呈现出亮白色,没有任何阴影。

加载环境地图时是否会自动执行任何操作?或者为什么它不能正常工作?

这是我正在使用的代码:

0 投票
1 回答
4456 浏览

python - 使用 OpenCV 打开 .hdr 文件

我尝试读取.hdr这样的文件:

这给了我一个 3 通道的 8 位Mat图像,它要么是(几乎)全白,要么是非常暗的图像。所以我想它只给了我一张曝光序列的图像?我如何获得Mat所有信息的正确性?

0 投票
1 回答
646 浏览

hdr - Timothy Lottes 通用色调映射器

我正在查看Timothy Lottes的演示文稿,他在其中导出了一个通用色调映射器(幻灯片 37 及以下)。

尽管很好地解释了不同参数的目的,但我发现很难正确调整它们。我写了一个简单的脚本来比较不同的色调映射器,并且很难找到通用色调映射器的合理设置。

一般来说,我无法让曲线的肩部表现得与其他运营商相当。也许这是我的实现中的一个错误(原始源代码在幻灯片中)。

有没有人偶然尝试过这个?

0 投票
1 回答
1228 浏览

matrix - HDR 颜色空间转换导致负 RGB 值(Yxy 到 XYZ 到 sRGB)

我目前正在将 HDR 添加到旧引擎中,并偶然发现了色彩空间转换问题。

  1. 我在 Yxy 颜色空间中定义我的灯光
  2. 然后我将 Yxy 转换为 XYZ
  3. XYZ 到 sRGB 的转换。
  4. 最后使用色调映射渲染和规范化结果时使用 RGB 值 > 1.0。

我正在处理相当大的数字,因为主要光源是具有高达 150k Lux 照度的太阳。

YxyToXYZ 函数

XYZtosRGB

测试样品:

问题:

  1. 我想负值应该被夹掉?还是我的计算有误?
  2. 这 2 个矩阵产生相似但不同的值(原色非常接近 sRGB)。我想用Wiki替换旧矩阵(我不知道它来自哪里) 。有谁知道旧矩阵来自哪里,哪个是正确的?
  3. 我找到了@Yxy 到 RGB 转换的部分答案,这听起来像是来自一位前同事:)……但并没有解决我的问题。

非常感谢