Цитата:от:andie
До второго абзаца не дочитали? Вот вам алгоритм вашей "жарки картошки" - создания панорамы:
1. Пользователь (или отдельная часть программы) ищет и расставляет контрольные точки.
2. По известному фокусному расстоянию кадры переводятся в сферическую проекцию, проецируются на сферу (пока не сами изображения, а только контрольные точки).
3. Кадры на сфере двигаются, стыкуясь по парным точкам. Однако, так как невозможно всегда точно соединить точки, если их в панораме больше двух, то сама подгонка - процесс итерационный.
Если погрешности между контрольными точками минимальны, панорама готова. Она разворачивается со сферы в нужную пользователю проекцию и "рендерится". Если нет, начинается оптимизация. Что здесь можно оптимизировать? В основном три вещи: фокусное, дисторсию, шифт объектива. Варьируя эти параметры (автоматически или по подсказке пользователя), программа повторяет пункты 2 и 3, минимизируя получаемые погрешности.
Как видите, программе безразлично, почему не сходятся точки - по причине дисторсии или перспективы. И разнести эти процессы на отдельные шаги не просто незачем, но и невозможно.Подробнее
Ню-ню...
Конечно русские привыкли вседелать через задний проход, но не настолько же.
Тот метод что вы расписываете даст большие искажения. Он применяется когда ничего другое уже не помогает. И накладывать они обычно начинают сначала на цилиндр, а на сферу и все остальное только если попросить.
Если выправить дисторсии, то нормально снятая панорама при отсутствии ветра и тому подобных внешних факторов сошьется сама собой. Все точки совпадут (ну или почти совпадут) автоматом.
А вот когда картинка не сходится из-за съемки без учета нодальной точки, из-за того, что объекты двигались и далее по списку, вот тогда уже начинают извращаться. И артефакты при этом появляются очень и очень часто и могут быть сильными.
Цитата:от:Валентин Прянишников
Выпрямление линий не есть первостепенная важность. Ибо если б это было так, то при сшивке панорам программы бы выдавали тождественные параметры коррекции линзы (те самые коэффициенты a, b, c по которым рассчитывается дисторсия). А на практике алгоритмы работы программ сшивки явно свидетельствуют об том, что безупречным выпрямлением линий можно запросто пожертвовать. Сомневаетесь? А что тогда по-вашему есть "оптимизация"? Подробнее
На практике, и ваши слова это подтверждают, все программы занимаются расчетом дисторсии объектива. Если это совершенно излишне, то зачем они это делают?
А не совпадают результаты у разных программ потому, что алгоритмы у каждого свои, а картинки отнюдь не тестовая для определения дисторсий из прямых и окружностей. Естественно, что результат расчетов будет разный.
Что-то мне подсказывает, что если вы наснимаете прямоугольников, то все программы выдадут примерно одинаковый результат.
Кстати в том же PTGui например есть возможность занести результаты расчета дисторсии в базу. Не думали зачем? А вот как раз для калибровки. Наснимайте на разных фокусных подготовленных тестовых картинок и занесите туда. Результат сшивки на реальных панорамах где для расчета зацепиться толком не за что, улучшится.
Что включает в себя оптимизация в том же PTGui вы можете увидеть на соответствующей закладке.
Цитата:от:Валентин Прянишников
Картинка изменилась между этими этапами? Нет? Значит, это один этап. Всё остальное это промежуточные виртуальные расчеты и разговоры из темы "что было раньше: курица или яйцо". Надо быть гораздо прагматичнее. Картошка-то после чистки и перед жаркой свой вид поменяла, а промежуточных файлов с исправленной дисторсией в темпе никто пока ещё не находил.Подробнее
То есть если вам не показали промежуточный результат, то его и не было?
Логика железная!
Тогда для заказчика фотографии и РАВа не было, и вообще цифровой картинки. Его сняли и отдали ему готовую напечатанную фотографию с его мордой. Промежуточных этапов не существовало...
И вообще при съемке в джипег с матрицы фотоаппарата выходят сразу готовые джипеги без всякой обработки...