通过积累图片来实现夜视

时间:2015-12-13 23:04:04

标签: opencv image-processing opencv4android

使用opencv组合多个暗图像是否有可能重新创建一个温和的好图像。我知道我可以使用直方图均衡来增加对比度,然后进行一些伽马校正,但似乎无法找到一种方法来组合多个暗图像来创建一个好的图像。

2 个答案:

答案 0 :(得分:2)

黑暗(即曝光不足的图像)的问题在于它们本身就是嘈杂的。在曝光期间实际到达传感器的光子很少,即使是一个杂散的光子光子的到达也会显着影响记录的亮度,即当一个光子太暗以至于只有2个光子被预期时,一个光子会使读数混乱。因为当总共3个光子到达时,它表示预期读数为2的50%误差。在直方图的明亮端,许多光子到达时,情况要好得多,而且百分比方面,额外的杂散,嘈杂的光子几乎没有差别。

由于噪声通常非常随机,因此图像平均是减少噪声并提高信噪比的合法技术。基本上,您可以平均图像中每个位置的多次曝光的像素,并且平均两次曝光(例如ISO 800)的结果通常类似于ISO 400曝光的图像。通常,噪声的幅度,下降通过平均曝光次数的平方根,平均4次曝光将噪声幅度降低一半。

有一个很好的写作here与图像和理论。至于在OpenCV中这样做,基本上只需要添加图像并除以图像数量。

请注意,此技术仅适用于STILL图像。

答案 1 :(得分:0)

我会建议一些不同的方法。如果相机正在移动,或者视野中有移动的物体,那么随着时间的推移整合图像域将不是最佳选择,因为这会引入模糊。

相反,您可以尝试一些图像增强功能。我最近发现了几种方法,即RetinexCLAHE。事实证明,即使在嘈杂的黑暗图像上也有足够的关于暗部的信息,它只是不在明显的范围内。

您可以在GIMP(源代码)和OpenCV中的CLAHE中找到retinex实现。

这两种方法都相当快,甚至可以组合使用,以获得更均衡的结果(Retinex似乎有时会在无纹理区域过度简化,CLAHE可以通过调整来避免这种情况,但通常对结果的影响小于视网膜)< / p>