Привет всем!
Есть примерно пятиминутное видео (с производства), где прямоугольный параллелепипед (контейнер) перемещается по одной оси от дальней точки к камере и уходит за границу кадра. Он имеет более-менее однородный цвет, немного надписей и всякие выступы/выемки. Т.е. есть на что повесить точки для трекинга. Хоть ось перемещения одна, но она расположена под углом к камере, поэтому присутствуют изменяющиеся во времени перспективные искажения. Есть задача: нужно на видимую сторону наложить прямоугольное изображение (как если бы оно было напечатано на бумаге и наклеено). Очень желательно, чтобы на накладываемом изображении были все тени (освещение в помещении не равномерное, при движении исходный объект попадает из более освещённой области в менее освещённую). Конечная цель в том, чтобы проверить где и как лучше размещать метки, по которым можно было бы отслеживать объект. Т.е. чтобы не повторять цикл «наклеил, снял видео, посмотрел подходит ли, оторвал, наклеил ...», а сделать симуляцию этого в видеоредакторе.
Раньше я примерно такое делал в After Effects и там это было вполне быстро, просто и качественно. Теперь озадачился вопросом, как и в чём такое сделать на GNU/Linux. Погуглил.
Первое, что нашёл - KDEnlive. Хороший редактор, но с поставленной задачей не помог. В найденных туториалах рекомендовалось использовать Auto Mask с анализом и копирование получившихся данных в Transform. Во-первых, насколько я понял, перемещение тут отслеживается без определения перспективы. Во-вторых, он совершенно зависал при копировании данных трекинга. Не понятно...
Дальше я нашёл Davinci Resolve. Но, как быстро выяснилось, ему обязательно надо OpenCL на видеокарте. И хотя моя карточка его поддерживает, но она достаточно старая и с драйверами проблема.
И третий вариант, который мне попался - Blender. Знаю, что это весьма серьёзный продукт, однако дела с ним не имел. Найденный туториал озадачил первым пунктом «разобрать исходное видео на серию картинок .png». Что совсем неудобно, да и не эффективно на мой взгляд. Хотя, допускаю, что-то я не понял.
Какие ещё есть варианты? Спасибо!