Как я могу использовать AviSynth, чтобы изменить размер области видео

У меня есть видеофайл, в котором для части видеофайла установлено неправильное соотношение сторон (под "частью" я подразумеваю определенную прямоугольную область видео, а НЕ конкретный промежуток времени). Можно ли использовать AviSynth для изменения размера только этой области видео?

Я знаком с концепцией avisynth и некоторыми очень простыми сценариями, но не уверен, возможно ли что-то подобное.

Спасибо Алекс

1 ответ

Решение

Сначала используйте несколько команд "Обрезать", чтобы разбить его на части, которые имеют правильный размер и неправильный размер.

Затем используйте "BicubicResize" (или действительно любой другой метод изменения размера), чтобы зафиксировать соотношение сторон интересующей вас части.

Наконец, поместите фрагменты, которые вы обрезали, используя "StackHorizont" и "StackVertical"

Например, если исходный источник имеет размер 100x100 пикселей, а верхний левый 50x50 пикселей фактически разделен на 25x50 пикселей, вы можете сделать следующее:

A = AviSource("MyVideo.av")
TopLeft = A.Crop(0,0,24,49)  ## This is the region that should take up 50x50 pixels
TopRight = A.Crop(50,0,99,49)
Bottom = A.Crop(0,50,99,99)

TopLeft = TopLeft.BicubicResize(50,50) ## Resize to the correct size

Top = StackHorizontal(TopLeft, TopRight)
Final = StackVertical(Top, Bottom)

Final
Другие вопросы по тегам