2011-03-21 3 views
0

비디오에서 깜박임 제거 도구를 구현하고 있습니다. 도구를 테스트하려면 눈에 띄는 정도의 깜박임이있는 일부 비디오 시퀀스 (MPEG4, H263, MPEG2, H264, Raw YUV)를 얻으려고합니다. 검색했지만 찾지 못했습니다.깜박임이있는 비디오 시퀀스

실제로 깜박임 제거를 허용하는 비디오 후 처리 도구가 있습니까?

모든 포인터가 도움이됩니다.

감사합니다. -AD

답변

1

YUV 시퀀스가있는 경우 특정 기간 (50Hz, 60Hz 등)에 인위적인 깜박임을 추가하는 것은 문제가되는 기간에 흰색 프레임을 삽입하거나 chroma-plane을 사용하여 문제의 프레임을 더 밝게 만들 수 있습니다.

테스트 시퀀스는 여기에서 찾을 수 있습니다. yuv test-sequences

BTW. 일반적으로 휴대 전화는 순 주파수의 배수로 작동하는 매우 효과있는 플리커 제거 기능을 내장하고 있습니다. 25 또는 30 Hz의 배수가 아닌 프레임 속도로 슬로우 모션 비디오 레코드는 일부 카메라 모듈이 VGA 100 fps라고 기록 할 때 보상하지 못하는 것입니다.

다음은 YUV 4 : 2 : 0을 프레임으로 분할하고 각 프레임을 별도의 파일로 저장하는 시작 기능을 제공하는 Python 함수입니다.

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 밀리 초 (msec)가됩니다. 내가 초당 30 프레임 (fps) 또는 1000msec 당 30 프레임으로 재생하는 Raw YUV 시퀀스가있는 경우. 기술적으로 0.3 프레임마다 흰색 프레임을 추가해야합니다. 그러나 그 분수 틀은 무의미해진다. 그래서 모든 프레임 후에 흰색 프레임을 추가 할 수 있습니까? 아니면 어떻게해야합니까? – goldenmean