2011-03-21 64 views
0

我正在實施一個從視頻中去除閃爍的工具。測試工具, 我期待獲得一些視頻序列(任何視頻格式-MPEG4,H263,MPEG2,H264,原始YUV),其中存在顯着的閃爍量。我搜索了,但找不到任何這樣的視頻。帶閃爍的視頻序列

順便提一下,是否有已知的視頻後期處理工具,允許閃爍消除?

任何指針都會有所幫助。

謝謝。 -AD

回答

1

如果您有YUV序列,在特定的時間段(50 Hz,60 Hz或其他)添加人爲閃爍會非常簡單,在相關週期插入白框或您可以擺弄使問題的框架更輕的色彩平面。

測試序列可以在這裏找到。 yuv test-sequences

BTW。通常手機內置了閃爍消除功能,能夠在多個淨頻率下工作。幀速率不是25或30 Hz倍數的慢動作視頻記錄是某些相機模塊在記錄@例如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() 
+0

謝謝。所以如果我不得不在Frq增加一個閃爍。比如100Hz(我的電源頻率是50Hz的兩倍),那麼閃爍週期變爲1/100 = 10毫秒(毫秒)。如果我有一個原始YUV序列,例如每秒30幀(fps)或每1000毫秒30幀。所以從技術上講,我應該在每0.3幀後添加一個白色框架。但是這個分數幀變得毫無意義。那麼我可以在每幀之後添加一個白色框架嗎?或者它應該如何? – goldenmean 2011-03-22 10:10:20