Существуют ли какие-либо инструменты для автоматического выравнивания изображения? - Фотопедия
6 голосов
/ 07 декабря 2010

Мне интересно, есть ли какие-либо инструменты (автономные, плагины Lightroom / Photoshop или другие), которые могут делать фотографии, искать линии, которые являются почти вертикальными или горизонтальными (например, горизонты, телефонные столбы и т. Д.), И автоматически вращаться и обрезать изображение?

Для меня сейчас это ручной процесс, и кажется, что это можно автоматизировать.

Существует ли что-нибудь подобное?

Ответы [ 5 ]

6 голосов
/ 07 декабря 2010

Вполне могут быть программы, которые пытаются делать то, что вы описываете, но я сомневаюсь, что это будет так эффективно. Если камера слегка наклонена вверх или вниз, вы можете получить идеально ровное изображение, несмотря на отсутствие горизонтальной или вертикальной линии.

Причина этого заключается в том, что, если ваша камера не будет полностью плоской вдоль оптической оси (которая проходит параллельно объективу), ваши полюсы телеграфа и т. Д. Не будут вертикальными на изображении, даже если камера выровнена - все линии будут сходиться на воображаемой точке исчезновения в небе. Аналогично, если камера не направлена ​​на истинную горизонтальную линию, она не будет отображаться на изображении в горизонтальном направлении.

Можно использовать более сложный подход, либо пытаясь определить горизонт на изображениях, либо даже лучше группировать линии, которые имеют общую точку схода, оценивая угол наклона и, следовательно, правильный угол поворота изображения, но такой процесс будет значительно более сложным.

3 голосов
/ 07 декабря 2010

Я полностью повторяю то, что сказал Мэтт Грум ... попытка автоматического "выравнивания" изображения на основе чисто логического алгоритма действительно будет эффективной только в идеальной ситуации: когда у вас идеально ровный горизонт в правильно отцентрированном изображении, которое минимизирует искажения объектива и перспективы.

Рассмотрим сценарий, когда вы, как фотограф, делали ровный снимок чего-то, например, озера, у которого нет идеально «горизонтально плоского» берега… берег изгибается вокруг и в конечном итоге встречает вас. Компьютерный алгоритм может попытаться выровнять такое изображение, сделав берег озера как можно более плоским ... но это неверно. Берег озера должен быть наклонен и в конечном итоге изогнут к вам. Человеческий глаз может обнаружить такую ​​вещь, поскольку он включает в себя многочисленные сигналы от всей сцены, а не только от основных линий. Маленькие вещи, такие как то, как выглядят «вертикальные» деревья (что может быть очень эфемерным, что трудно приспособить компьютерному алгоритму).

Я думаю, что это один из тех хороших аргументов для того, чтобы сделать все возможное в камере, прежде чем делать снимок, чтобы убедиться, что ваши снимки выровнены. Помимо технических трудностей, связанных с точным выравниванием снимков с помощью автоматического алгоритма, повороты не на 90 градусов являются одним из самых разрушительных правок, которые вы можете сделать, поскольку для этого требуется повторная выборка каждого пикселя в изображении. Если вы можете делать снимки в камере так, чтобы они были выровнены должным образом, вам не придется выполнять какие-либо повороты, вызывающие ухудшение детализации изображения.

1 голос
/ 19 февраля 2013

Да, я не сделал этого, и в нем участвует программирование на C или python, но я скоро попробую.

Моя ситуация - камера, установленная на мачте, которая находится на буе, и делает снимок, который всегда содержит горизонт. Это должно быть более простое приложение, чем ваше.

Сначала посмотрите на OpenCV . В частности, Преобразование линии Хафа .

В моем случае я ожидаю, что горизонт будет намного более отличительным, чем любая другая линия, я могу настроить его, чтобы найти только одну линию. Затем я могу вращаться в зависимости от угла линии.

Для вашего приложения, я думаю, вы бы отфильтровали любую линию больше чем на X градусов по горизонтали или вертикали.

Немного статистики, и вы сможете выяснить, сколько нужно повернуть.

Что касается ухудшения качества изображения, я буду конвертировать файлы RAW в ppm вместо jpeg, поэтому после обрезки не должно быть ничего.

0 голосов
/ 26 ноября 2017

Google Photos https://photos.google.com/ могут сделать это и в наши дни. Никакой поддержки RAW и пакетной обработки, хотя, и он показывает опцию автоматического уровня, только когда чувствует, что.

level option auto

0 голосов
/ 04 января 2016

Модуль Lightroom Develop теперь имеет встроенную опцию. Никаких внешних программ не требуется. Он может выравниваться как по горизонтали, так и по вертикали, или, при полностью автоматическом режиме, также компенсирует расходящиеся линии и т. Д. Это достаточно хорошо для изображений, где ожидаемые вертикальные и горизонтальные линии очевидны.

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