Алгоритм и программная реализация управления оттеночным контрастом цифровых изображений

Алгоритм и программная реализация управления оттеночным контрастом цифровых изображений

Н.Е. Андронова, П.Е. Гребенюк, А.М. Чмутин Волгоградский государственный университет

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

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

Повышение информативности изображения лежит на пути повышения изобразительного контраста. Он по виду переносимой изобразительной информации делится на яркостный и цветовой [1]; последний - на контраст насыщенностей и контраст оттенков. Посвящая статью контрастированию оттенков, мы руководствовались следующими соображениями.

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

общеупотребительную оттеночную гамму компьютера 1530 оттенками [2]. Однако возможности человеческого глаза куда более ограниченны. По [3] человек различает приблизительно 180 градаций оттенков. Это значит, что цвета всего многообразия окружающего мира человек может соотнести только со 180 оттенками, а информация, описываемая более детально (т.е. меньшими оттеночными контрастами), для наблюдателя теряется.

Именно поэтому человек с древнейших времен (когда изображение могло быть еще только живописным) пытается тем или иным способом так раскрашивать его, чтобы усиливать видимое различие оттенков с целью подчеркнуть информацию, переносимую наиболее контрастными фрагментами. Наш замысел - в век информации - переложить эти усилия на компьютер. Но, если яркостное контрастирование, так или иначе (с ошибками [4] или без [5]) уже реализовано в современной программной графике, то оттеночное контрастирование - отнюдь нет. Таким образом, цель настоящей работы - повышение информативности изображений путем вариации оттеночного контраста; задача - разработка метода повышения оттеночного контраста изображений и его программного обеспечения. Потребность контрастирования оттенков заявлена в работе [2], к которой мы, собственно, и апеллируем в обоснование актуальности своей разработки.

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

где И! и И - исходный и результирующий оттенки, Н - сдвиг оттенка; - пропорционально меняющий оттенок каждого пикселя изображения

Hi'=H±Hi,

Н1'=Мх(±Н1), где М - коэффициент изменения оттенка;

- нелинейно меняющий оттенок каждого пикселя изображения

Н1'=Е(Н1)х(±И1),

где Р(Н1) - функция изменения оттенка.

Одинаковое изменение оттенков (1): в этом случае реализуется равномерный сдвиг всех оттенков изображения, а оттеночное контрастирование при сдвиге невозможно в принципе [2]. Нелинейные способы изменения оттенков (3): столь объёмный материал выходит за рамки статьи, поскольку видов Р(Н1) - множество, перспективный рост которого ничем не ограничен. Учитывая эти соображения, мы посвятили настоящую работу сугубо пропорциональному изменению оттенков (2).

Теперь пересмотрим специфические особенности шкалы оттенков, сопоставляя её для наглядности с более очевидной яркостной шкалой [4,5,6]. Первичным здесь является различие физической сущности яркости и физиологической сущности оттенка. Это различие проявляется в том, что яркости присуща количественная оценка, а оттенку - нет, иначе говоря, по своей природе ни один оттенок не может быть больше или меньше другого. Отсюда проистекает круговая форма шкалы оттенков (рис. 1). Но круговая шкала - это шкала интервалов по метрологической классификации: на ней нет естественной нулевой точки (как, впрочем, и максимума). Однако, без установления местоположения точки отсчёта никакое управление оттенками нереализуемо на практике. И эта точка (подобно Гринвичскому меридиану) устанавливается искусственно - соглашением. В конечном счете, такая особенность приводит к букету различий при переходе к контрастам.

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

Если при пропорциональном контрастирования яркостей [6] яркостный контраст меняется однозначно (или растёт, или падает) у всех пар пикселей изображения, то при пропорциональном контрастировании оттенков не исключена и комплексная ситуация. Оттеночный контраст может, и расти (у одних пар пикселей), и падать (у других пар пикселей) одновременно. Это зависит от исходного изображения и условий контрастирования. Наконец перейдём к атрибутам пропорционального контрастирования -опорной точке и коэффициенту контрастирования. Первая определяется как точка (Я0, О0, В0), не меняющая своего оттенка в процессе контрастирования (на шкале оттенков рис. 1 помечена ещё и точка, противоположная опорной,

- оппозитная). Второй показывает во сколько раз меняется контраст оттенков

- при увеличении контраста это то же, что и М в (2), при уменьшении это 1/М. В целом рис. 1 поясняет принцип контрастирования оттенков и принцип декомпозиции шкалы оттенков на Я-, О- и В-шкалы, неявно вводимой в рассмотрение работой [2]. Потребность декомпозиции для программиста очевидна, так как именно со значениями ЯОВ-координат и производятся все вычисления при собственно оттеночном контрастировании пикселей изображения. Теперь материала для построения алгоритма оттеночного контрастирования (по образу и подобию контрастирования яркостного) вполне достаточно.

Алгоритм функционально складывается из следующих укрупненных процедур, представленных на рис. 2 (предполагается, что предварительно изображение уже разложено на три матрицы Я-, О- и В-координат). Пооперационно его можно изложить на словах следующим образом. 1. Считывание с командной строки, из окна, из файла значений цветовых координат (далее - координат) оттенка опорной точки и значения коэффициента М.

Вычисление координат оттенка оппозитной точки.

П' П'

Рис. 1. Собственно оттеночное контрастирование.

Шкалы внутри - до контрастирования; снаружи - после.

2. Выявление наименьшей координаты Мт(ЯОБ) цвета первого пикселя. Если таковыми окажутся все три координаты, то результирующие координаты первого пикселя определятся как

К'=Я, 0'=а, Б'=Б. Переход к п. 11. 3.

3. Выявление наибольшей координаты Мах(ЯОБ) цвета первого пикселя.

Вычисление значения исходной насыщенности первого пикселя по формуле S=[Max(RGB)-Min(RGB)]/Max(RGB).

4. Уменьшение каждой координаты цвета первого пикселя на Min(RGB).

5. Выявление (среди полученных в п. 4) координат первого пикселя наибольшей координаты Max* (RGB).

6. Увеличение каждой (из полученных в п. 4) координаты первого пикселя в 255/Max*(RGB) раз.

В результате получаются три координаты, определяющие исходный оттенок первого пикселя. Здесь 8-bit/channel цвет, в программе - опция 16-bit/channel.

7. Собственно оттеночное контрастирование пикселя (рис. 1, рис. 2).

7O. Если -1<M<1, изменить каждую, полученную в п. 6, координату оттенка первого пикселя относительно опорной точки в M раз (учитывая положение оттенка первого пикселя относительно опорной точки на цветовом круге):

• вычислить исходную девиацию оттенка первого пикселя по соответствующим шкалам R-, G- и B-координат (рис. 1) как

AMax=Max(RGB)-Max(O) или AMax=Max(O)- Max(RGB) AMed=Med(RGB)-Med(O) или AMed=Med(O)-Med(RGB) AMin=Min(RGB)-Min(O) или AMin=Min(O)-Min(RGB), где Max(RGB) - наибольшая координата исходного оттенка,

Max(O) - координата опорного оттенка, одноимённая Max(RGB), Min(RGB) - наименьшая координата исходного оттенка, Min(O) - координата опорного оттенка, одноимённая Min(RGB), Med(RGB) - промежуточная координата исходного оттенка, Med(O) - координата опорного оттенка, одноимённая Med(RGB);

• вычислить результирующую девиацию оттенка первого пикселя как

A'Max=MAMax или A'Max=MAMax A'Med=MAMed или A'Med=MAMed A'Min=M AMin или A'Min=M AMin;

орел file

I -

read parameters

-К y1 >—

-К >—

read Rjj __1-

Рис. 2. Функциональная схема алгоритма оттеночного контрастирования.

• вычислить результирующий оттенок первого пикселя по соответствующим шкалам R-, G- и B-координат как

Max'(RGB) =A'Max+Max (O) или Max'(RGB) =Max (O)-A'Max Med'(RGB) =A'Med+Med (O) или Med'(RGB) =Med (O)-A'Med Min'(RGB) =A'Min+Min (O) или Min'(RGB) =Min (O)-A'Min. 70. Если M>1 или -1>M, изменить каждую, полученную в п. 6, координату оттенка первого пикселя относительно оппозитной точки в 1/M раз (учитывая положение оттенка первого пикселя относительно оппозитной точки на цветовом круге) по аналогии с п. 7O.

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

8. Уменьшение каждой (из полученных в п. 7) координаты оттенка первого пикселя в 255/Max*(RGB) раз.

9. Выявление наибольшего (из полученных в п. 8) значения Max**(RGB).

10. Увеличение каждого (из полученных в п. 8) значения на

Max**(RGB)(1-S)/S. В результате получаются три координаты R', G' и B', определяющие результирующий цвет первого пикселя.

11. Переход ко второму пикселю и выполнение цикла, начиная с п. 2.

Поясним условные переходы. Одним (п. 2) определяется процедура сохранения базовых характеристик пикселя, если пиксель, или изображение в целом, окажется не цветным, а черно-белым. Другим (п. 7) обеспечивается однозначность изменения оттенка и оттеночного контраста.

Отметим, что изложенный алгоритм оттеночного контрастирования получился однопроходным, а это предпосылка быстродействия создаваемой на его основе программы. Последняя написана на языке высокого уровня С++ в среде Borland C++ Builder. Объем программы не превышает 1,20 МБ (исполняемый файл huecon.exe занимает чуть более 0,3 КБ). Продукт

работает в операционных системах Microsoft от Windows 95 до Windows 10; не исключается даже MS DOS. Результат работы иллюстрируется рис. 3.

Рис. 3. Результаты обработки, как функция коэффициента контрастирования. Слева направо М равномерно изменяется от 1,0 до 2/3; оттенок оппозитной точки 0 (Я0=0, 00=0, В0=255) лежит на середине высоты изображения.

Здесь представлена динамика оттеночного контрастирования тест-объекта, образованного двумя полями с одинаковыми яркостью и насыщенностью. Изначальная разница в оттенке сопоставляемых полей составляет всего 2 ед. длины цветового круга при 24-битной градации цвета, что заведомо меньше разрешающей способности человеческого глаза [3]. Задача визуального разделения верхнего и нижнего полей решается новой программой. В процессе оттеночного контрастирования насыщенность не меняется (см. процедуру возврата насыщенности), яркость обоих полей (по крайней мере, энергетическая) повышается одинаково, поэтому нарастающий слева направо эффект отличия полей объясняется только увеличением контраста оттенков 1/М. На рис. 3 оттенки до и после контрастирования помечены I, II и I, II; положение опорной точки О и коэффициент М соответствуют шкалам рис. 1.

Наконец исследуем возможности разработки в натурном эксперименте, чем логически завершим построение метода оттеночного контрастирования.

Для этого перейдем от модельной - окрашенной упорядоченно - картинки к реальной - окрашенной стохастически - фотографии. Такой характер окраски предопределяет одновременную вариацию от пикселя к пикселю всех трех базовых [7], или психологических [8], характеристик цвета: оттенка, насыщенности и яркости.

Попытаемся разрешить по оттенку две спекл-картины, порождённые рассеянием на шероховатой поверхности пучков лазерного излучения, слегка различающегося по длине волны. Интуитивно понятно, что разные длины волн дадут и разные оттенки пятен изображения, а теоретически цветовое разрешение метода составит 1/1275~0,078%. Здесь в знаменателе стоит доля длины цветового круга (в единицах 24-bit RGB цвета), соответствующая видимому спектральному диапазону. Попробуем экспериментально оценить спектральное разрешение (рис. 4).

Исходное изображение было сформировано засветкой чёрного листа бумаги пучками двух лазеров, газового ЛГН-214 (мощность излучения « 3 мВт; сечение пучка 0 1 мм) на длине волны 633 нм - слева и полупроводникового HLDPM10-650-3 (мощность излучения « 1 мВт; сечение пучка « 1x2 мм) на длине волны 650 нм - справа. Верхняя пара пятен на рис. 4 - это цифровой снимок, сделанный в темной лаборатории. Последнее чрезвычайно важно в силу стохастичности структур изображения, поскольку даже на чёрной бумаге может рассеиваться не только монохроматическое излучение той или иной длины волны, но и полихроматическое излучение фоновой засветки. Нижняя пара пятен - результат контрастирования оттенков исходного изображения относительно опорной точки (Ro=255, G0=0, B0=22 - это середина дуги цветового круга между усреднёнными оттенками левого и правого пятна) с коэффициентом контрастирования M=2. Несмотря на стохастический характер окрашивания высвечиваемых на бумаге пятен мы видим, что разница длин волны засветки 17 нм, незаметная

Рис. 4. К оценке разрешающей способности метода.

на глаз исходно, уверенно разрешается, когда изображение подвергнуто оттеночному контрастированию. Таким образом, если приписать концам оптического спектра (400...760 нм) красный и пурпурный оттенки, то в эксперименте спектральное разрешение составит 17/(760-400=360) «4,7°% длины видимого спектра.

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

приложений [8] от приборостроения [9] до строительства [10], но также в судебной и криминалистической экспертизе.

В заключительном примере для создания исходного изображения на полиграфически окрашенной бумаге была выполнена подпись двумя пишущими узлами разного цвета, - оба не сильно отличались от цвета основы. Затем проводилось сканирование - изображение представлено на рис. 5 слева. Результат контрастирования оттенков изображения относительно опорной точки (Яо=175, 00=255, Б0=0) с коэффициентом контрастирования М=2 показан на рис. 5 справа.

Рис. 5. Контрастирование невидимого изображения.

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

Литература

1. Андронова Н.Е., Рвачева О.В., Чмутин А.М. О повышении информативности изображений методом цветового контрастирования. // Тр. 17 Междунар. конф. «Лазерно-информационные технологии в медицине, биологии и геоэкологии». - Новороссийск: КубГУ, 2009. С. 108.

2. Гребенюк П.Е., Чмутин А.М. Оттеночный сдвиг и яркостный контраст: парадоксы Photoshop. // Современные научные исследования и инновации. 2016. № 8. 9 с. URL: web.snauka.ru/issues/2016/08/70870.

3. Домасёв М.В., Гнатюк С.П. Цвет, управление цветом, цветовые расчёты и измерения. - СПб.: Питер, 2009. 224 с.

4. Рвачева О.В., Стрюкова А.О., Чмутин А.М. Яркостное преобразование и цветовой сдвиг: проблемы Microsoft, Corel, Adobe, etc. // Актуальные проблемы гуманитарных и естественных наук. 2010. №10. С. 32.

5. Боровкова А.О., Рвачева О.В., Чмутин А.М. Управление яркостным контрастом: от телевидения к компьютерной графике. // Журнал радиоэлектроники. 2012. № 2. 10 с. URL: jre.cplire.ru/jre/feb12/7/text.pdf.

6. Боровкова А. О., Чмутин А.М. Управление яркостью изображений в фотографии, в телевидении, в компьютерной графике. Часть 2. // Интернет-вестник ВолгГАСУ. 2013. №3(28). 7 с. URL: vestnik.vgasu.ru/ /attachments.

7. The Colour Image Processing Handbook. / Ed. by S. J. Sangwine and R. E. N. Horne. - London: Chapman & Hall, 1998. 440 p.

8. Colour Physics for Industry. / Ed. by R. McDonald. - Bradford: SDC, 1997. 526 p.

9. Лахов А.Я. Стереовизуализация результатов расчетов на прочность геодезических куполов на проекционной системе. // Инженерный вестник Дона, 2016, № 3. URL: ivdon.ru/ru/magazine/archive/ /n3y2016/3703.

10. Нагулин К.Ю. Теневая визуализация газовых и плазменных потоков в горелке индуктивно-связанной плазмы оптического эмиссионного

спектрометра // Инженерный вестник Дона, 2016, №2. URL: ivdon.ru/ru/magazine/archive/n2y2016/3660.

References

1. Andronova N.E., Rvacheva O.V., Chmutin A.M. 17 Mezhdunarodnaya konferentsiya «Lazerno-informatsionnye tekhnologii v meditsine, biologii i geoekologii»: trudy [Proc. 17 Int. Conf. «Laser-Information Technologies in Medicine, Biology and Geoecology»]. Novorossijsk: KubGU, 2009. P. 108.

2. Grebenyuk P.E., Chmutin A.M. Sovremennye nauchnye issledovaniya i innovatsii (Rus). 2016. № 8. URL: web.snauka.ru/issues/2016/08.

3. Domasev M.V., Gnatyuk S.P. Tsvet, Upravleniye tsvetom, tsvetovyye raschety i izmereniya [Colour, colour management, colour calculations and measurements]. SPb.: Piter, 2009. 224 p.

4. Rvacheva O.V., Stryukova A.O., Chmutin A.M. Aktualnyye problemy gumanitarnykh i estestvennykh nauk (Rus). 2010. №10. pp. 32-38.

5. Borovkova A.O., Rvacheva O.V., Chmutin A.M. Zhurnal radioelektroniki (Rus). 2012. № 2. URL: jre.cplire.ru/jre/feb12/7.

6. Borovkova A.O., Chmutin A.M. Internet-vestnik VolgGASU (Rus). 2013. №3(28). URL: vestnik.vgasu.ru/attachments.

7. The Colour Image Processing Handbook. Ed. by S. J. Sangwine and R. E. N. Horne. London: Chapman & Hall, 1998. 440 p.

8. Colour Physics for Industry. Ed. by R. McDonald. Bradford: SDC, 1997.

526 p.

9. Lakhov A. Ya. Inzenernyj vestnik Dona (Rus), 2016. №3. URL: ivdon.ru/ru/magazine/archive/n3y2016/3703.

10. Nagulin K.Yu. Inzenernyj vestnik Dona (Rus), 2016. №2. URL: ivdon.ru/ru/magazine/archive/n2y2016/3660.