B |
|
BicubicResize
BicubicResize(clip,target-width,target-height[,b,c])
BicubicResize(clip,target-width,target-height,b,c,source-left,source-top,source-width,source-height)
|
BicubicResize аналогичен BilinearResize , не считая
замены линейной фильтрации на Митчелла-Нетравали
двухпараметрическую кубическую.
Параметры b и c могут быть использованы для настройки свойств кривой. С b=0 и
c=0.75 фильтр работает идентично фильтру VirtualDub "resize
[precise bicubic]" и результат одинаков, с учётом проблемы масштабного
коэффициента описанной в BilinearResize . Значения по умолчанию:
b=1/3 и c=1.3 рекомендованы Митчеллом и Нетравали как дающие наиболее визуально
приятные результаты для человека в субъективных тестах. Большие значения b и c
дают интересные эффекты, например попробуйте b=0 и c=-5.
|
|
При увеличении размера кадра, BicubicResize даёт результаты
выглядящие значительно лучше нежели BilinearResize . Однако при
уменьшении результаты сблизятся или у BilinearResize будет даже
лучше. Несмотря на то, что бикубический фильтр VirtualDub даёт
изображение, которое выглядит лучше чем билинейный, это в основном за счёт
подчёркивания границ бикубическим фильтром, а не результат лучшей выборки.
Чёткое изображение хорошо, пока вы не попытаетесь его сжать. В этот момент они
очень быстро начнут раздражать вас. BicubicResize по умолчанию не
подчёркивает границ так сильно, как бикубический в VirtualDub,
но все же подчёркивает сильнее чем билинейный. Если вы планируете кодировать
видео с низким битрейтом, не удивляйтесь, если BilinearResize даст
лучшее качество
|
|
|
BilinearResize
BilinearResize(clip,target-width,target-height)
BilinearResize(clip,source-left,source-top,source-width,source-height,target-width,target-height)
|
Фильтр BilinearResize масштабирует кадры входного видео к
произвольному новому размеру. Передача необязательных параметров даст в
результате тот же результат, как если бы к видео-клипу был применён Crop
с этими аргументами до BilinearResize (только быстрее).
|
|
BilinearResize использует стандартную билинейную
фильтрации. И
практически идентичен фильтру VirtualDub "resize [precise
bilinear]". Отличие в том, что фильтр VirtualDub похоже
берёт не совсем верный масштабный коэффициент. В результате пиксели на верхней и
правой границе обрезаются либо дублируются. Ошибка становиться заметна при
увеличении вдвое или больше, но в других случаях несущественна.
|
|
Примеры |
# Загрузить видео-файл и отмасштабировать к 240x180 (с исходного размера)
AVISource("video.avi").BilinearResize(240,180)
# Загрузить 720x480 (CCIR601) видео и отмасштабировать к 252x240 (VCD), сохраняя соотношение сторон
AVISource("dv.avi").BilinearResize(8,0,704,480,352,240)
# Извлечь верхний правый квадрант видео-клипа 320x240 и увеличить его до размеров всего кадра
BilinearResize(160,0,160,120,320,240)
|
|
|
Blackness / BlankClip
Blackness(clip,duration)
BlankClip(template-clip, length,width,height,pixel_type,fps,fps_denominator,audio_rate,stereo,sixteen_bit,color)
|
Метод BlankClip формирует одноцветный, беззвучный видео-клип
указанной длительности (в кадрах). Клип переданный в качестве параметров
используется в качестве шаблона для частота кадров, размер кадра т.д.),
но вы можете задать все параметры клипа без указания шаблона. Цвет должен
быть задан как шестнадцатеричное RGB значение. Без аргументов
BlankClip формирует чёрный десяти-секундный клип, 640x480, 24 FPS,
16 bit 44100 Hz стерео.
|
|
Blackness это псевдоним BlankClip , внесённый
для обратной совместимости.
|
|
|
Blur / Sharpen
Blur(clip,amount)
Sharpen(clip,amount)
|
Фильтр использует простую 3x3 размывающую или обостряющую матрицу весов
пикселов. Наибольший допустимый аргумент для Blur около 1.58,
который соответствует равномерному размытию 3x3 пикселя. Значение 1.0 даёт вам веса
пикселов (1/4, 1/2, 1/4). Если вам требуется Гауссовское размытие большего
радиуса, примените несколько копий Blur(1.0) последовательно.
|
|
Отрицательные значения для Blur на самом деле повышают резкость
изображения, и фактически Sharpen просто псевдоним для Blur(-
n) . Наименьшее допустимое значение для Blur - -1.0, и
наибольшее для Sharpen - 1.0
|
|
|
Bob
Bob(clip[,b,c][,height])
|
Bob берёт клип и убирает "гребёнку" следующим образом. Фильтр
увеличивает каждое поля до размеров целого кадра интерполяцией между строками.
Верхнее поле немного сдвигается вверх в сравнении с нижним, так что картинка на
самом деле не прыгает вверх-вниз. Однако, она начинает "мерцать" на
стационарных сценах, так как интерполяция на самом деле не восстанавливает
другое поле достаточно точно.
|
|
Фильтр использует BicubicResize для грязной работы. Вы можете
указывать ему значения b и с. Также вы можете воспользоваться случаем изменить
вертикальное разрешение параметром height.
|
|
|
|