具有闪烁的视频序列

时间:2011-03-21 22:58:36

标签: video flicker

我正在实施一个从Video中删除闪烁的工具。要测试该工具, 我希望得到一些视频序列(任何视频格式 - MPEG4,H263,MPEG2,H264,原始YUV),其中存在明显的闪烁量。我搜索过,但找不到任何此类视频。

BTW是否有已知的视频后期处理工具,可以去除闪烁?

任何指针都会有所帮助。

谢谢你。 -AD

1 个答案:

答案 0 :(得分:1)

如果你有一个YUV序列,通过在相关周期插入一个白框来添加人工闪烁在一定时期(50赫兹,60赫兹或其他任何)是非常简单的,或者你可以摆弄色度平面使得有问题的框架变得更轻。

可在此处找到测试序列。 yuv test-sequences

顺便说一句。通常,移动电话具有内置的闪烁消除功能,可以很好地工作在净频率的倍数。以帧速率而不是25或30 Hz的倍数的慢动作视频记录是某些相机模块在录制@ say VGA 100 fps时无法补偿的。

这是一个让你开始的python函数,它将YUV 4:2:0分成帧并将每个帧存储为一个单独的文件。

def split(fname):
    src_yuv = open(fname, 'rb')

    cif = 352*288*1.5   # YUV 4:2:0 change to reflect your input!

    # Get file size in bytes
    src_yuv_size = os.stat(fname)[6]

    nr_files = src_yuv_size / cif

    filecnt = 0
    while True:
        buf = src_yuv.read(cif)          # read qcif number of bytes
        if buf:
            s = "frame" + "%s" % filecnt + ".yuv"
            dst_yuv = open(s, 'wb')
            dst_yuv.write(buf)           # write read data into new file
            print "writing frame", filecnt
            dst_yuv.close()
            filecnt = filecnt + 1
        else:
            break
    src_yuv.close()