Видеопоследовательности с мерцанием - PullRequest
0 голосов
/ 22 марта 2011

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

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

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

спасибо. -AD

1 Ответ

1 голос
/ 22 марта 2011

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

Тестовые последовательности можно найти здесь. 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()
...