Отладка |
|
Subtract
Subtract(clip1,clip2)
|
Subtract формирует выходной клип в котором каждый пиксель
устанавливается в соответствии с разницей между соответствующими
пикселями в clip1 и clip2. Более точно, он устанавливается
(50% gray) + (clip1 pixel) - (clip2 pixel).
Вы можете использовать Levels после, если желаете повысить
контраст. К примеру:
|
# Сделать разницу между clip1 и clip2 явно очевидной
Subtract(clip1,clip2).Levels(127,1,129,0,255)
|
|
Если хотите в деталях увидеть разнице между смежными кадрами,
можете использовать код:
|
Subtract(clip.Trim(1,0),clip)
|
|
|
ShowFrameNumber
ShowFrameNumber(clip)
|
ShowFrameNumber отрисовывает текст на каждом кадре показывающий
каким AVISynth считает его номер. Фильтр иногда полезен при
написании скриптов. Если вы примените дополнительные фильтры после
ShowFrameNumber , будут рассматривать текст в кадре просто как часть
картинки, так что номер может быть искажён к тому времени, как вы его увидите.
|
|
|
ShowSMPTE
ShowSMPTE(clip,fps)
|
Фильтр ShowSMPTE аналогичен ShowFrameNumber ,
но показывает код времени SMPTE (часы:минуты:ссекунды:кадр).
Аргумент fps необходим и должен быть 24, 25, 30 или 29.97.
|
|
|
StackHorizontal / StackVertical
StackHorizontal(clip1,clip2[,...])
StackVertical(clip1,clip2[,...])
|
StackHorizontal берёт два видео-клипа и показывает их вместе
слева-на-право. Высоты изображений и их цветовые форматы должны совпадать.
Остальная информация (звуковая дорожка, частота кадров и т.д.) в основном
берётся из первого клипа. StackVertical делает тоже самое, но
сверху-вниз. Например:
|
|
Примеры |
# Сравнение кадров с и без подавления шума
StackVertical(last, last.SpatialSoften(2,3,6))
# Располагает клипы переменных a, b, c, d квадратом:
# a b
# c d
StackVertical(StackHorizontal(a,b),StackHorizontal(c,d))
|
|
|
ShowFiveVersions
ShowFiveVersions(clip1,clip2,clip3,clip4,clip5)
|
ShowFiveVersions берёт пять видео-потоков и соединяет их
в зигзагообразном порядке слева на право. Единственное применение для этого -
помочь найти структуру NTSC "3:2 pulldown". Этого можно
добиться используя такой код:
|
# Наблюдать все пять структур 3:2 pulldown сразу
DoubleWeave()
# Встаете фильтр изменения размера если надо (см. ниже)
a = Pulldown(0,2).Subtitle("0,2")
b = Pulldown(1,3).Subtitle("1,3")
c = Pulldown(2,4).Subtitle("2,4")
d = Pulldown(0,3).Subtitle("0,3")
e = Pulldown(1,4).Subtitle("1,4")
ShowFiveVersions(a,b,c,d,e)
|
|
Этот код показывает пять структур "3:2 pulldown" с добавленным текстом
идентифицирующим каждую из них. Затем просматривая конечный фильм можно выбрать
структуру не содержащую смешанных кадров. (При обычном "3:2 pulldown"
должно быть две одинаково хороших. Посмотрите на диаграмму в описании для
фильтра Pulldown и поймёте почему.) Если ни одна из пяти не подходит,
то вы имеете дело с одной из более извращённых форм "3:2 pulldown" и
вам может понадобиться использовать PeculiarBlend .
|
|
Кстати, если вы планируете захватывать в высоком разрешении и затем
масштабировать к нужному размеру, как рекомендовалось, вы возможно должны
поместить ReduceBy2 или BilinearResize или что-нибудь
сразу после команды DoubleWeave в вышерасположенном коде,
до DoubleWeave это сработает неверно, а если отложите на будущее,
ShowFiveVersions сформирует по-настоящему большой кадр.
|
|
|
FlipVertical
FlipVertical(clip)
|
Фильтр FlipVertical поворачивает видео сверху вниз.
Полезно при работе с ошибающимися видео-кодеками.
|
|
|
|