Как стать автором
Обновить

Решение проблемы дымки на изображениях с использованием .NET: Простой и эффективный подход

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.5K
Всего голосов 10: ↑10.5 и ↓-0.5+11
Комментарии18

Комментарии 18

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

Есть другой вариант дехейзинга где работа видеться не через RGB, и с использованием DCP, попробую описать его отдельно. Кстати хочу заметить что тут оно BGR, но это к сведению. В одном из вариантов, который попробую описать позже, можно будет заодно прикрутить пирамиды Гауса и Лапласа для вместо Guided Filter. Интересные штуки,но памяти жрут как не в себя.

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

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

Есть варианты и с учетом релеевского расселения, но судя по опытам в матлабе и публикациям на arxive.org супер эффекта это не дает, поиск поиск экстремумов по B и отдельно между R и G для вычисления величины атмосферного света, возможно на больших разрешениях, но это нужно пробовать.

Вы бы КДПВ сделали аккуратнее, а то изначально вообще в ленте показалось, что это два разных фото с разными ракурсами (в самой статье видно, что это не так),
И присоединюсь к вопросу выше: почему бы не работать в пространстве, где яркость есть в явном виде?

Ответил выше. И добавлю именно математика в варианте с RGB нагляднее и понятнее. Ну, мне так кажеться.

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

Конструктивно, а потом граммар-наци без него просто распнут.

"тся" сильно чаще встречается в тексте, так что шансы написать неправильно всё равно снизятся. Так же опустить "ь" можно списать на торопливость или еще какие-то причины, а вот сознательную печать - уже на безграмотность. Правило же безумно простое, вы перед отправкой разве не вычитываете то что людям пишете? Ну режет же безумно слух "Ну, мне так кажеться." - мне "что делаЕТ?" - кажеТСЯ. "где работа видеться" - "работа что делаЕТ?" - видиТСЯ. Не мог "что сделаТЬ?" - видеТЬСЯ с друзьями. Даже смысл другой.

Ну и по классике:

оно даже подчеркивается

Я не нашелЪ этого мiста в стате. Можете помоч показат где в статье есть слово кажеться/кажется? Очень хочу исправить. И да, держу в курсе у меня дислексия, я иногда не только жышы могу написать у меня гласные печатаються раньше согласных. И , как мне показалось, будто вы чем то жизнью обижены? Показалось? Будьти позитивнее - улучшает настроение - продлевает жизнь.

у меня дислексия

Если это реально диагноз, то позвольте вопрос. Как с этим код пишется? С C# intellisense поможет, но в профиле вижу еще и питон. Можно словить интересных ошибок.

Бывают сложности :(, главное не набирать быстро, ну и читать поправлять, ну и да иде помогает. И ещё меня поправили, не дислексия, дисграфия

главное не набирать быстро, ну и читать поправлять

и что вам мешало поправить написанное ранее и не устраивать тут лекцию про ваш диагноз?

Я не нашелЪ этого мiста в стате

А оно не в статье

Можете помоч показат где в статье есть слово кажеться/кажется? Очень хочу исправить

Вы даже читаете плохо, я нигде не писал про статью.

И да, держу в курсе у меня дислексия

Первое. Это не оправдание хотя бы потому, что я вам уже показал - в браузере есть проверка орфографии и для её использования дисграфия не помеха. Второе - у меня тоже дисграфия, шах и мат. Только когда у меня эта проблема появилась еще в школе (80-е годы), то никто не знал что это и просто всё сводилось к тому, что я двоечник по русскому. "Вылечилось" всё, если так можно сказать - начитанностью книг, то есть я перестал писать слова как совокупность слогов, а пишу слова целиком, помня как именно их нужно писать в такой ситуации. Если я повышаю темп набора, то у меня запросто получаются слова "элкеторфиакция", и размер этого повышения улыбнёт любого, кто набирает слепым набором, так как это всё еще очень медленно.

И , как мне показалось, будто вы чем то жизнью обижены?

Есть такая поговорка "Чтобы сделать мир лучше, начни с себя". И вот ваш подобный ответ он чётко показывает, что вы этого принципа придерживаться не собираетесь. Вы готовы незнакомого человека тыкать в какие-то шаблоны или оскорблять, притом, что вам указывают на проблему, которую вы должны решать, но не хотите. Как в мультике "И так сойдёт".

Будьти позитивнее - улучшает настроение - продлевает жизнь

А откуда взяться позитиву в нежелании человека окружающим делать хорошо?

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

Если не умеете пользоваться исправлением орфографии на мобилке, вот вам подсказка, которой уже лет 10 с хвостиком: осуществляете набор не тыкая в отдельные буквы, а водите пальцем соединяя буквы линиями, особенность такого ввода в том, что даже если вы захотите набрать "сабака", то телефон не сможет его написать, то есть допустить ошибку практически невозможно, а в ряде случаев, если регулярно набирать неправильно, он позже будет подставлять правильный вариант из-за обучения. Всё в ваших руках.

Ну и ещё поговорка "относись к людям так, как хочешь, чтобы они относились к тебе". И я всегда ПОЗИТИВНО встречаю все претензии к моей орфографии, так как у меня будет возможность научиться еще чему-то, но я всегда негативен к тем, кто ленится, исповедует принципы "и так сойдёт" (во всём), и кто неуважителен к тем, с кем он общается. Да-да, мил человек, когда ты заставляешь читать свою тарабарщину других, то ты просто плюёшь на них, прикрываясь своими проблемами.

Как это дополнительно влияет на качество фото? Добавляет/убирает цифровой шум, зернистость, еще что-нибудь?

Там есть управляющие параметры, если мы например исключим сглаживание карты трансмиссии то появиться зернистость обусловленная размером патча для тёмного канала. Так как мы искали локальные минимумы и выставляли их в окне патча, я думаю размер патча нужно брать в процентах от размера изображения, слишком мелкий может не убрать засветы от частиц, слишком крупный засветы уберёт но снизиться общая яркость. Шум может быть только от фильтра сглаживания для тёмного канала, но это максимально нивелируется тем что он влияет опосредовано только как коэффициенты для каждого пикселя. Субъективно скорее убирает шум. Зернистость можно получить пропустив этап сглаживания тёмного канала и увеличив размер патча, предметы будут чётче но общая яркость упадёт.

Глупый вопрос, а просто контраст подкрутить не тоже самое?

Не совсем, так же и если яркость убирать добавлять, меняя контраст/яркость вы как бы нормализуете всё пиксели по всём каналам сразу, тут же более индивидуальный подход и к пикселям и каналам. Я уже выше писал, постараюсь сделать работу по DCP для дехейзинга с использованием формата HSV.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории