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

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

Скажите, в каком смысле имеется ввиду «повышение качества»? Если речь о художественной фотографии, то изображение в низком ключе (тёмное, с гистограммой около нуля) может быть одним из выразительных приёмов; своим «повышением качества» вы уничтожаете идею.

Хорошо видно на двух иллюстрациях в конце. Оригинальная фотография выглядит естественно — так, как видит эту сцену глаз. Эквализация RGB искажает цвета, интенсивности — меньше, но обе они вытягивают ужасные шумы и выглядят явно пересвеченными, а также явно «полосят» (особенно заметно около ярких пятен). Самая качественная в эти тройках — первая фотка, а ваше «улучшение» весьма сомнительно.

Определите, пожалуйста, конкретный параметр «качества», который вы повышаете обработкой, то есть критерий, по которому нужно судить, что лучше, а что хуже.
на самом деле суть метода в его названии («выравнивание гистограммы», можно было бы и перевести, вместо того чтобы ломать язык об эквализацию)
и повышает он не качество, а контрастность.
Эквализация RGB искажает цвета
так как метод может работать только с 1 каналом, то когда его применяешь отдельно к R,G,B компонентам цвета «разбегаются»
это один из самых простых алгоритмов обработки изображений, поэтому не стоит ожидать от него много, тем более на цветных изображениях для которых он не предназначался
я не против. Я прекрасно понимаю, как он работает и почему. Вопрос был — «почему это называется повышением качества, когда оно визуально ухудшилось», что именно за качество мы повышали.

Вообще говоря, контрастность в целом он не улучшил. Посмотрите на две последних фотки: вокруг ярких пятен были чётко различимые детали, после обработки они «засвечены» и неразличимы.

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

Вообще, в статье довольно плохо объяснено, как алгоритм работает и в чём его цель. Суть метода в том, чтобы интегральная гистограмма была как можно ближе к линейной функции. В википедии это хорошо показано (чёрная линия на гистограммах): en.wikipedia.org/wiki/Histogram_equalization#Full-sized_image Глядя на результаты на обычных гистограммах. это осознать непросто, потому что-то сложно сравнить на глаз редкие высокие столбики с частыми низкими.

В той же статье в википедии написано, что метод полезен при работе со специфическими изображениями, например, снимками с тепловизора или рентгеновскими снимками. В моей практике метод использовался, чтобы привести картинки к одному диапазону перед тем, как считать разницу между ними. Опять-таки это было для карт салиентности, полученных разными методами, а не для обычных изображений.
Честно говоря на сколько улучшилась картинка сложно понять по малюсеньким превьюшкам. Боюсь на темных фотках попутно вылезли все прелести шумов матрицы, а светлые участки просто исчезли для глаза (или у меня что-то с монитором). Третья фотография в начале (с какой то игрой), откровенно говоря стала заметно хуже. Единственное что понравилось — печатная машинка стала заметнее. Но всё это не открытие, баловство с кривыми и уровнями (на разных каналах в разном цветовом пространстве в том числе) наверное самое первое что делают при обработке фотографий в графических редакторах.

По мне — повышение качества изображения, это когда убираются артефакты (шумы, пыль и прочее), регулируется экспозиция по интересующим объектам (например по лицам) и при этом не страдает детализация картинки, не пропадают пересвеченные/недосвеченные объекты и цвета не становятся жутко неестественными (привет переHDRщникам).
Вспомним о другом цветовом пространстве – HSI.


А если эквализировать одну или три компоненты в пространстве YCbCr?
Ничего хорошего. Эквализация Y примерно аналогична эквализации I (она же V, если считать что это HSV). Каналы Cb и Cr лучше не трогать, результат будет ещё непредсказуемее чем с RGB.
Тема очень интересная, статья — совершенно капитанская. Непонятны множество деталей. Вот например, почему на новой гичтограмме печатной машинки столбики расположены с разной плотностью? слева реже, справа чаще. Как это определяется, зачем, какие формулы?
Раз уж это кусок из целой монографии:
1) В чём новизна работы?
2) Каковы критерии качества результата?
Такие методики хороши для фотографий снятых совсем зелеными «любителями», профи фотографы и энтузиасты с подтянутой матчастью почти 90% обработки сводят к тонкому тюнингу передаточной кривой, которая разрушается такими методиками. Выше верно подметили, художественное фото помимо композиции дополняется тональностью.
Как фамилия руководителя? Дайте ссылку на сайт вашей кафедры/лаборатории/компании.
Проблема и HSL/HSI, и HSV/HSB в том, что они используют линейные преобразования яркости/насыщенности, тогда как глаз — нелинейная система. Потому при изменении в этих системах яркости/насыщенности меняются и воспринимаемые глазом оттенки цвета — что очень хорошо видно на иллюстрациях к данной статье.

Для того, чтобы этого не происходило, необходимо использовать цветовые пространства, учитывающие особенности цветовосприятия. Например, CIE L*a*b*.
Плюсую, CIElab штука отличная и здесь была бы очень уместна, но автору, думаю, создаст проблем с кодированием :). Опять же ему придется тогда задуматься о исходном цветовом пространстве, а в эти подробности мало кто рискует лезть :).
HSL и иже с ними народ использует потому как реализуется легко (и много где уже реализовано штатно)
А можно попросить простым языком сказать, чем эквализация отличается от процедуры: photoshop --> Shift+Ctrl+L
Эквализация — автоматический подбор «кривых» (Curves) такой, что гистограмма в инструменте «уровни» (Levels) становится примерно горизонтальной.

То есть, это несколько более общий инструмент, чем авто-уровни. Я уверен, что в фотошопе есть автоэквализация, и можно вызвать её в любом цветовом пространстве и на любых каналах (а не только на RGB или канале I в HSI, как в статье). Ну а если нет встроенной, наверняка есть плагин.
Забавно. Кто-то открыл для себя Гонзалеса&Вудза двадцатилетней давности…
А был еще Гонсалес и Уинтц 35-летней давности…
Во-первых, это не эквализация, а нормирование гистограммы, строго говоря. Потому что выравнивания распределения значений по всему диапазону не происходит, происходит только линейное отображение исходного диапазона значений на максимальный.
Во-вторых, динамический диапазон изображения не меняется, потому что не меняется число градаций значения (яркости).
Там нелинейное отображение, явно видно же по результату. По коду — вначале формируется обычная гистограмма, затем её превращают в кумулятивную ф-ю распределения и под конец по этой ф-и цвет каждого пикселя заменяют на % пикселей имеющих равную или меньшую с этим пикселем яркость умноженный на соответствующий коэф. для нормировки.

Про динамический диапазон тоже неверно — DR есть соотношение между максимально представимым и минимально представимым уровнем сигнала различимого от шума. Число градаций накладывает ограничения на DR из-за шумов квантования, но все же является самостоятельным параметром. Хотя автору конечно следовало говорить о кажущемся динамическом диапазоне, технически-то новых деталей действительно не появляется.
Я не совсем понял суть стереометрических операций. Что мешало взять классические семь цветов, а не транпонировать несчастное RGB пространство в 6. Более наукообразно бы происходило, имхо.
В «семь цветов» (если речь о спектре) преобразовывать замучаетесь, плюс это даст лишь одну координату из трех нужных для описания цвета+яркости пикселя. А по-научному надо в CIElab бы преобразовать, оно специально для этого проектировалось
Боже, вы из какого класса? Не обижайтесь, просто давите в себе эти детские стереотипы про семь цветов (которых вообще бесконечное число, и любой монохроматический свет может быть с полным правом назван «базовым») и семь нот (которых в европейской музыке двенадцать, а на самом деле семь относится к числу ступеней звукоряда. Хотя бывает и пентатоника — пять ступеней).

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

Рэлей (физик, известный работами в волновой физике) хвастался, что различает волны, отличающиеся на 1 нм. Он, значит, видел 360 разных чистых цветов. И с полным правом мог сказать, что их не 6 и не 7, а вот 360.

И наконец, мы говорим о цветовом пространстве в компьютере. Во первых, здесь есть не-спектральные (смешанные) цвета, такие, как пурпурный — его вообще нет в радуге (монохроматического света, который создаёт такое цветовое ощущение, не существует). Во вторых, мы пытаемся представить цвет в некотором роде в цилиндрической системе координат (ρ=яркость, φ=цвет, z=насыщенность), где цвет представляется угловой координатой, а полный круг φ в градусах имеет значение 360, делится нацело на 60, что удобно при рассмотрении (получаются понятные круглые числа).
Я как раз был ПРОТИВ СТЕРЕОТИПА о трех составляющих (хотя я в курсе про колбочки и палочки). Мне хотелось понять почему автор так к ней был привязан. Вам же хочу посоветовать «давить в себе стереотипы», что стоит переходить на личности — обсуждайте вопрос, а не оппонента. Можете заняться популяризацией науки, но прошу вас не быть навязчивым с тривиальными фактами.
Извините, я не уловил в вашем сообщении никакого сарказма. Думал, вы на полном серьёзе предлагаете рассматривать семь цветов радуги.

Ну, «три составляющих» имеет вполне конкретное обоснование, в отличие от «семи цветов радуги». И это как раз не стереотип, а вполне работоспособная модель цветового восприятия большого числа людей. Не всех, некоторые видят больше цветов. Часто это женщины, т.к. цветовосприятие сцеплено с полом (гены в X-хромосоме), а у них таких хромосом две, и поэтому могут образовываться колбочки не трёх, а большего числа типов (теоретически должно быть возможно получить женщину с пятью типами колбочек, плюс палочки — в неокоторых условиях это будет давать шесть типов разных по спектральной чувствительности сенсоров, т.е. гексахроматизм).
Я как-то работал в рекламе (тв и пресса на региональном рынке), часто приходилось переводить из одного цветового пространства в другое. Там, у продвинутых полиграфистов, популярны книги Дэна Моргулиса, который ратует за использование Lab-пространства для режима редактирования изображений (используя гистограммы и кривые в том числе). Комментируя, я хотел указать что использование RGB-пространства не вполне корректно, но, так как я занимался полиграфией лет 15 назад, то решил что сейчас, наверное, есть более точные методы, чем использование Lab. И предложил школьный курс оптики (в незнании которого вы меня обвинили). Я заложил погрешность в своем предложении используя слово «наукообразность», а не «научность», т.е. указывал на иронию. Да, могу дополнить вашу коллекцию фактов о цветах, что самым разборчивым в цветовых оттенках, среди художников, был Куинджи (цветовой диапазон его картины «Лунная ночь на Днепре» кагбе намекает). В записках Репина это есть, и там было про прибор для измерения чувствительности глаза к тонким нюансам изобретенным Дмитрием Ивановичем Менделеевым).
Студенческая работа, средненький уровень. Новизной конечно и не пахнет, но плюсик за использование HSI.
Как сделать работу получше:
1) Посмотреть более одного метода нормализации :), сравнить их между собой. Желательно включить что-нибудь из HDR tone mapping поинтереснее
2) Нормальные иллюстрации нормального размера с врезками деталей
3) Разбор не только достоинств но и недостатков описываемых методов :D
4) Не изобретайте велосипедов, для обработки изображений специально создавалось пространство CIElab.
Мы как раз пытались определять через image magic цветная ли фотография или нет.
Переводим изоражение в HSL и смотрим коэфицент S, посчитанный со всех пикселей.
Но входные данные были со сканера и несли в себе оттенок на серых изображениях. И получалось так, что бледные цветные очень плохо отличались от серых с оттенком. Эквализация трех каналов легко исправила это. Оттенок с серых фотографий пропадал на 99% и стал легко детектироваться по порогу насыщенности.
Спасибо за статью. Главное, — ясно и четко описали преобразование в HSI.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации