Подтвердить что ты не робот

Есть ли способ удалить GoPro fisheye с помощью ffmpeg

Кажется возможным компенсировать искажение fisheye с помощью ffmpeg благодаря фильтру lenscorrection:

ffmpeg -i in.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=-.25:k2=-.25" out.mp4

Какие значения для k1 и k2, особенно для гопро? Есть ли способ их вычислить?

4b9b3361

Ответ 1

Я не думаю, что есть общая настройка, чтобы охватить все модели GoPro и объективы. Фактор также заключается в том, что люди могут использовать некоторые персонализированные/заменяющие линзы.

Я надеялся на пример с изображением , с чем вы должны работать с, но неважно...
Надеюсь, что ниже вам что-то полезно.

Отметьте эту ссылку для GoPro Hero 3 settings (применимо к другим моделям). Чтобы получить приблизительное представление о лучших значениях k1 и k2, вы должны найти ближайшее соотношение сторон к вашему разрешению изображения, затем...

Разделите H. FOV deg с помощью V. FOV deg и умножьте результат на Diag. FOV deg.

Пример: где размер изображения составляет 1920 x 1080: это делает его широкоэкранным 16: 9.

Настройка GoPro 3: 16 x 9 Широкоэкранный:: H fov= 69.5 || V fov= 118,2 || Diag= 133,6

So 118.2 / 69.5 * 133.6 = 227.216 etc

для k1 результат теперь будет целым числом 227 (отбросить десятичные точки).

для k2 значение 0.022 кажется универсальным (все тестовые изображения), поэтому вы можете попробовать k2=-.022.

для cx и cy сохраните их как: cx=0.5:cy=0.5:.

Пример:

ffmpeg -i in.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=-0.227:k2=-0.022" out.mp4

Результат: (оригинальное изображение найдено через изображения Google видео GoPro Hero-2).

j4oHO.png

Ответ 2

FFmpeg имеет lenscorrection фильтр, который можно использовать для коррекции радиального искажения в видео. Тем не менее, без дополнительного контекста, такого как модель и настройки вашей камеры, было бы сложно предоставить дополнительную информацию. Я подозреваю, что в любом случае потребуется немного проб и ошибок.

PS: Вы пытались запустить программное обеспечение камеры под WINE? В некоторых версиях, по-видимому, этот фильтр коррекции предопределен и легко доступен.

Ответ 3

Для GoPro Hero 5 и 6:

ffmpeg -i input.mp4 \
    -vf 'lenscorrection=k2=0.006:k1=-0.18' \
    output.mp4

источник

Ответ 4

Для GoPro 3+, 16: 9 с широким полем зрения

ffmpeg -i input.mp4 -vf "lenscorrection=0.5:0.5:-0.335:0.097" output.mp4

Ответ 5

Вы можете исправить "рыбий глаз" с помощью ffmpeg lenscorrection, но на краях результат будет выглядеть плохо.

Image of how it looks on edges