dimview: (Default)
[personal profile] dimview


Стандартные инструметы вроде панорамы в Фотошопе и align_image_stack из Hugin выравнивать изображения отказались, скорее всего потому что между первым и последним кадрами приличная разница (лишний мост). Поэтому пришлось делать по-другому:

  • Вбить названия файлов в электронную таблицу;
  • Найти пару ключевых точек — одну в левом верхнем углу, вторую в правом верхнем;
  • Каждый файл открыть в Фотошопе, подвести мышку к первой ключевой точке, записать в таблицу координаты x0 и y0 из информационной панели, повторить со второй ключевой точкой и записать её координаты x1 и y1;
  • Наделать с помощью формул в электронной таблице командные строки для ImageMagick;
  • Скопировать их в теримнал.

Пример команды:
    convert 
      orig/2013_0527_1104.tif 
      -extent 5178x3652-241-1231 
      -rotate 0.368461030248915 
      -crop 3008x1692+398+1500
      -resize 1920x1080 
      aligned/frame11040.png

Эта команда выполняет следующие действия:

  • Добавить пустое пространство вокруг картинки так, чтобы правая ключевая точка оказалась точно в центре;
  • Повернуть картинку так, чтобы линия между ключевыми точками была под тем же углом к горизонту, как у остальных кадров;
  • Кадрировать, выдержав заданное соотношение сторон;
  • Подогнать разрешение, чтоб было как у видео.

Чтобы получить требуемый угол поворота, нужно посчитать угол между горизонтом и линией, соединяющей ключевые точки α = 180° · atan((y1 - y0) / (x1 - x0)) / π, вычесть из него среднее значение α и изменить знак на прoтивоположный.

В этом же месте можно добавить панорамирование, немного сдвигая рамку от кадра к кадру.

Чтобы сделать переход от кадра к кадру более плавным, можно добавить промежуточные кадры для интерполяции, сложив соседние с весами, например, так:
    composite 
      -blend 66x34 
      aligned/frame11043.png 
      aligned/frame16170.png 
      -alpha Set 
      inter/frame11041.png

Когда все кадры готовы, остаётся слить их в одно видео с помощью ffmpeg:
    ffmpeg 
      -framerate 6 
      -i 'inter/frame%*.png' 
      -pix_fmt yuv420p
      -c:v libx264 
      -r 6 
      tz_timelapse.mp4

Profile

dimview: (Default)
dimview

November 2017

S M T W T F S
   12 34
56789 1011
1213141516 1718
192021 22232425
26 27 282930  

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 14th, 2025 10:42 pm
Powered by Dreamwidth Studios