У меня есть следующий стабилизированный видеокадр, где стабилизация выполняется только вращением и перемещением (без масштабирования):
Как видно на изображении, правая часть изображения симметрична предыдущим пикселям, т. е. черная область после поворота заполняется симметрией. Я добавил красную линию, чтобы обозначить это более четко.
Я хотел бы найти угол поворота, который я буду использовать позже. Я мог бы сделать это с помощью функций SURF или SIFT, однако в реальном случае у меня не будет исходного кадра.
Я, вероятно, могу найти угол грубой силой, но мне интересно, есть ли лучшее и более элегантное решение. Обратите внимание, что значение интенсивности симметричной части не совсем совпадает с исходной частью. Я проверил некоторые значения, например, верхний правый пиксель символа V на клавиатуре [51 49 47]
в исходной части, но [50 50 47]
в симметричной копии что означает, что соответствующие пиксели не обязательно будут иметь одно и то же значение RGB
.
Я реализую это на Matlab или Python, а стабилизация видео выполняется с помощью ffmpeg
.
EDIT: у меня есть только стабилизированное видео, у меня нет доступа к исходному видео или файлам, созданным ffmpeg.
Любая помощь/предложение приветствуется,
ffmpeg
. Я предполагаю, что вы используете плагинVidStab
для ffmpeg? Если это так, вы, вероятно, создали файл 'transforms.trf' где-то в процессе. Я бы посмотрел, как отформатирован этот файл, и извлек бы из него значения. - person Aaron   schedule 10.04.2017stabilized video
. Теперь обновил вопрос. Я использую плагинdeshake
и использую командуffmpeg.exe -i infile -vf deshake -c:v libx264 -crf 0 -preset veryslow outfile
. - person smttsp   schedule 10.04.2017