给定N张具有不同曝光剂量的x射线图像,我必须将它们组合成一个单独的图像,以压缩来自N个源图像的信息。如果我的研究是正确的,那么这个问题属于HDRI范畴。
我的第一种方法是加权平均。首先,我将只使用两个帧。
假设A是第一张图像,这是曝光最低的一张,因此设置为更重,以便突出细节。假设B是第二个过度曝光的图像,C结果图像,M最大可能的像素值。因此,对于每个像素i
wi = Ai/M
C= wi * Ai +(1- wi ) Bi
应用此想法的示例结果如下:

注意结果(第三张图像)很好地捕获了来自两个源图像的信息。
问题是第二张图像在物体边缘周围有不连续(这在过度曝光的图像中是不可避免的),并继续到结果。仔细看..。

最好的HDR软件似乎是Photomatix,所以我胡乱摆弄它,无论我如何调整它,不连续的地方总是会出现在结果中。
我想我应该忽略第二张图片的边缘,但我必须以一种“平滑的方式”来做这件事。我试着使用一个简单的阈值,但结果看起来更糟。
你有什么建议?(只欢迎开源库)
发布于 2012-09-20 02:27:54
这里的问题是,每个图像都有不同的曝光剂量。任何HDR算法都必须考虑到这一点。
我询问了创建x射线图像的人,第二张图像的曝光剂量大约是第一张的4.2倍。我给Photomatix提供了错误的EV值,因为我不知道EV是以停止数来表示的,1停止意味着参考值的两倍。因此,将0 EV分配给第一个图像,将+2.1 EV分配给第二个图像,不连续部分消失了,保留了所有信息。
下一个问题是我不知道Photomatix是如何做到这一点的。因此,我尝试使用开源的Luminance HDR, aka qtpfsgui来做同样的事情。
总而言之,曝光括号中的图像必须提供给HDR压缩算法,该算法创建HDR图像。基本上,这是一个包含所有图像信息的浮点图像。有许多算法可以做到这一点。亮度HDR将此HDR创建模型称为,并提供了其中两个模型: Debevec和Robertson。
然而,HDR图像不能直接在传统显示器(即监视器)上显示。因此,我们需要将其转换为“正常”(LDR)图像,同时尽可能多地保留颜色信息。这称为tone-mapping,也有各种算法可用于此;亮度将这些色调贴图操作符称为,并提供了几种。它还会选择最合适的一个。Pattanaik运算符对这些图像非常有效。
因此,现在我正在阅读亮度的代码,以便理解它并做出我自己的实现。
https://stackoverflow.com/questions/12393307
复制相似问题