Как я могу использовать AviSynth, чтобы изменить размер области видео - PullRequest
1 голос
/ 07 июля 2010

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

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

Спасибо, Alex

1 Ответ

1 голос
/ 19 апреля 2011

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

Затем используйте «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
...