Видеоряды с мерцанием

Я внедряю инструмент для удаления мерцания из видео. Чтобы протестировать инструмент, я хочу получить несколько видеопоследовательностей (любой формат видео - MPEG4, H263, MPEG2, H264, Raw YUV), в которых присутствует заметное количество мерцания. Я искал, но не нашел таких видео.

Кстати, существуют ли известные инструменты постобработки видео, которые позволяют удалять мерцание?

Любые указатели помогут.

Спасибо. -ОБЪЯВЛЕНИЕ


person goldenmean    schedule 21.03.2011    source источник


Ответы (1)


Если у вас есть YUV-последовательность, было бы довольно просто добавить искусственное мерцание в определенный период (50 Гц, 60 Гц или что-то еще), либо вставив белую рамку в рассматриваемый период, либо вы можете возиться с хромаплоскостью. делая рассматриваемую раму легче.

Тестовые последовательности можно найти здесь. тестовые последовательности yuv

КСТАТИ. Обычно мобильные телефоны имеют встроенную функцию удаления мерцания, которая работает достаточно хорошо и работает на частоте, кратной сетевой частоте. Запись замедленного видео с частотой кадров, не кратной, скажем, 25 или 30 Гц, — это то, что некоторые модули камер не могут компенсировать при записи, скажем, VGA 100 кадров в секунду.

Вот функция 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()
person Fredrik Pihl    schedule 21.03.2011
comment
Спасибо. Поэтому, если мне нужно добавить мерцание в Frq. скажем, 100 Гц (удвоенная частота моей сети, которая составляет 50 Гц), тогда период мерцания становится 1/100 = 10 миллисекунд (мс). Если у меня есть необработанная последовательность YUV, которую я воспроизвожу, скажем, со скоростью 30 кадров в секунду (fps) или 30 кадров за 1000 мс. Так что технически я должен добавлять белую рамку через каждые 0,3 кадра. Но эта дробная рамка становится бессмысленной. Итак, могу ли я добавить белую рамку после каждого кадра? Или как должно быть? - person goldenmean; 22.03.2011