我有几个视频序列显示光强度闪烁(在荧光灯下)。这是由于快门速度和/或采样率不是电频率的整体倍数造成的。例如,以1/50秒快门速度拍摄视频,频率为60 50。
一般来说,我需要在不知道采样率、电频率、视频帧速率的情况下解决这个问题。我只是看到闪烁的东西,需要修复它们。
视频场景还包括移动对象(有些动作缓慢,有些像闪烁所致的强度快速变化一样快)。
是否有一种众所周知的处理这种闪烁的方法?
谢谢!
发布于 2014-06-23 11:51:06
消除闪烁的常用方法如下所示。从连续帧间的差异图像来看,闪烁应表现为沿图像垂直轴的强周期信号。因此,它应该在频域上有一个强的系数。因此,可以通过在频域找到表示差分图像中闪烁的系数来检测和消除闪烁,并将它们作废并转换回空间域。
在伪代码中,该算法如下所示:
imDiff = I_{t+1} - I_t (Compute the difference between subsequent video frames)
imDiff = FilterImDiff(imDiff)
imDiffRowSum = RowSum(imDiff) (summing the rows of the diff image)
dctCoef = DiscreteCosineTransform(imDiffRowSum)
flickeringDctCoef = SomeHeuristicToFindFlickeringCoef(dctCoef)
flickeringIm = CloneColumn(InverseDiscreteCosineTransform(fixedDctCoef), numCols)
fixedimDiff = imDiff - flickeringIm
fixedI_{t+1} = I_{t+1} + fixedimDiff 其中:
https://stackoverflow.com/questions/24365037
复制相似问题