我试图复制T. Mertens'等。人。论文[1]中作者提出了一种方法,将用不同相机曝光拍摄的多张图片融合成“更好”的曝光图片。本文还提供了一个Matlab演示代码[2]。 方法非常简单:您为每个像素计算像素权重贴图,然后使用权重贴图和拉普拉斯/高斯金字塔混合方法组合图像,以防止混合伪影。
我基本上已将Matlab代码移植到C ++中,但与Matlab实现(图像:http://imageshack.us/photo/my-images/204/exposuresample.jpg/)相比,生成的图像看起来很糟糕。
我已经比较了我的C ++端口处理工作流程中的不同步骤,但这些似乎没问题。我的金字塔处理似乎有问题。
有图像处理背景的人是否有可能导致褪色结果的建议或想法?
此致
[1] http://research.edm.uhasselt.be/%7Etmertens/exposure_fusion/ [2] http://research.edm.uhasselt.be/%7Etmertens/exposure_fusion/exposure_fusion.zip
答案 0 :(得分:0)
看起来好像第二张图像要么被一些常数偏移,有效地使它在非常明亮的区域看起来更“明亮”和饱和,或者它乘以一个常数,导致它在某些区域饱和。您可以通过检查您认为是黑色的几个像素的值来测试它。如果预期黑色确实是黑色,那么它是乘法的。我无法在你附上的图片中表现出来。
不过,我的赌注是第一种情况。
要调试这个,我会检查整个算法是否有任何像素操作导致超过255(或1,取决于你是否使用双精度或整数)并从那里工作。或者对于快速而肮脏的解决方案,检查您是否可以通过减去一个值或除以一个小值(1.3或其他)来校正最终图像