Коррекция геометрических искажений

Идеальные фигуры встречаются только в геометрии.
(Кто-то пошутил)

Не сильно ошибусь, если предположу, что у подавляющего большинства человечества, использующего фото-редакторы, самой востребованной фичей является функция коррекции линейных искажений. Хотя некоторые идут еще дальше: Фотосессия длиной в 4 года. А некоторые, совсем наоборот, утверждают, что желание исправлять геометрию рисунка — это в чистом виде технодрочерство и никакого отношения к фотографии не имеет. Мне же представляется, что все инструменты известные в природе на сегодняшний день для решения этой задачи, не совсем удобные и иногда избыточные с точки зрения возможностей (хотя, все не так, да), если говорить не о технологически точных фото-задачах, а о простом повседневном использовании: ну, там поехал в отпуск, фоткнул красивые руины, дома посмотрел, а там все криво — открыл свою любимую программку (которую сегодня напишем), поправил — мир стал лучше.

Поэтому сегодня пост, о том как самостоятельно изготовить быстрый, легкий и в меру незагруженный тулкит. Будем решать частный, но самый распространенный случай коррекций: исправление искажений проекции: ровно тот случай, что описал Антон, когда плоскость проекции изображения фотографии в момент фиксации не соответствует «правильной» (плоскости объекта съемки и фокальная плоскость не параллельны).

Читать далее

Реклама

Геометрические фильтры: «игрушечные» шейдеры Metal. Анимация процессинга.

Параллельные прямые не пересекаются, если вы не наклоняете одну из них или обе.
И да, никогда не пейте перед дифференцированием!
(Народная мудрость)

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

Читать далее

Чем измерить эстетичность. Энтропия и вариативность гармонизированного изображения

«Вовсе не обязательно, что бы всюду был смысл: смешно — ну и ладно.»  
(Пол Маккартни)

А займемся-ка мы сегодня изучением такого важного параметра как энтропия информации и её производного: энтропии изображения и всем тем, что к ней приводит. И главное, осознаем чем она нам может быть интересна. К примеру, почему бы нам не придумать какой-то численный индикатор эстетики в изображении, и попробовать в этом контексте энтропию в плане измерения «эстетичности» изображения, выяснив предварительно, что можно под этим термином понимать.

Читать далее

Вычисление доминантного цвета изображения. Нормализация цветового баланса против баланса белого

Меня как-то спросили, страдаю ли я от похмелий.
Для того, чтобы были похмелья, нужно перестать пить.
Так что данная проблема просто не возникает.
(Приписывают Л. Килмистеру)

Попробуйте задать гуглу вопрос вроде: How to calculate the dominant color of an image? Или что-то вроде того же спросите у stackoverflow, для большей релевантности. В случае с гуглом вы получите результат примерно из более чем 30 миллионов поисковых ответов. 30 миллионов! 30, Клара!

Снимок экрана 2015-12-12 в 11.28.52

В общем я подумал недолго и понял: маловато. Надо бы добавить еще одну строчку. Тем более что вопрос не праздный, а вполне себе имеет практический смысл, в отличие, скажем, от поиска доминантных цветов из предыдущего поста. Решение этой задачи дает возможность проделать несколько простых манипуляций над фотографическим изображением. Например, исказить исходное соотношение цветов, т.е. «ухудшить» его технические характеристики и значит несколько улучшить перцептуальные свойства. А как вы уже заметили, наша теплая компания совершенно помешана на деструктивных способах обработки фотографических изображений, и значит нам условно полезно иметь этот инструмент в собственном исполнении. И целью сегодняшнего упражнения будет видоизменить общий баланс цветов исходной никчемной цифровой картинки до состояния нейтралей, чтобы получить возможность разбавить, в итоге, исходные цвета до приемлемо гармоничных. А для этого нам в первую очередь понадобится вычислить этот самый доминантный цвет.

Читать далее

Палитра и доминантные цвета изображения

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

Пока земляне старательно бухали отмечали наступление Нового Года и провожали Рождество, я решил тоже побухать отдохнуть и развлечься. В качестве упражнения Дима Климкин подкинул одну бессмысленную для нашего проекта, но весьма любопытную в целом задачу: а не можем ли мы получить из картинки её палитру для определения гармонической целесообразности этого изображения. А еще точнее её доминантные цвета. Да не вопрос, подумал я, и между блинами к новогоднему столу и рибаем для перекуса, накидал первую версию анализатора палитры изображения. Посмотрел на результат и понял: что-то не то. Потом накидал второй вариант и оставил оба. Поэтому праздничный пост будет происходить вокруг исследования того как правильно определять палитру изображения в ограниченом цветовом пространстве, как найти доминантные цвета изображения и в чем разница между палитрой и доминантными цветами.

Читать далее

Самый лучший селективный HSV-adjustment фильтр ever.

Мы не заблудились, мы просто не знаем где мы находимся.
(South Park)

Наверное не будет преувеличением утверждение: каждый фотограф или человек занимающийся фотографией хоть раз в жизни использовал инструмент называющийся «Hue/Saturation» или вроде того. С этим весьма популярным инструментом есть одна интересная история: в природе не существует более-менее адекватной реализации доступной в исходных кодах. Каждый разработчик либо конструирует все самостоятельно, либо использует готовый код из свободного Gimp либо городит безумные конструкции вокруг расширений ImageMagic. Те же, кто знают тайну, попросту жмутся, не делятся исходниками или же выкладывают в сеть что-то вроде пресловутого Gimp. Пробовали с ним работать? Вот то-то и оно.

А давайте уже нарушим эту монополию, сорвем покровы с реализации этого инструмента в виде Metal-апического кода, но не под iOS, а, например, под OSX. Так удобнее крутить параметры слайдерами и видеть изменения в реальном времени. А еще будет удобно рисовать гистограмму и наблюдать как меняется представление картинки в «частотном домене».

Читать далее

Мифическая скорость GPU. Параллелизация расчетов GPU+DSP на A7

Хотя этот блог в большей степени и посвящен личным переживаниям автора связанным с процессингом фотографических изображений, но справедливости ради стоит отметить, что большая часть моей (да и вашей, скорее всего, коли уж вы читаете этот текст) жизни связанна, конечно не с этим приятным время препровождением. Огромное количество бессмысленных затрат полезной энергии, к сожалению, уходит на борьбу с ограничениями, которые на нас накладывают обстоятельства. В моем случае, к счастью, такими обстоятельствами оказываются, всего лишь, предметы материального мира: вычислительные железки, которые в конкретный момент времени я имею в собственном пользовании и могу что-то на них посчитать. Вот посчитали мы дружно в прошлом посте гистограмму

Читать далее