УДК [004.9:655](073)
М. С. Шмаков, А. А. Товмасян
Белорусский государственный технологический университет
АНАЛИЗ ЦВЕТОВОЙ ПАЛИТРЫ ИЗОБРАЖЕНИЙ ДЛЯ ОПРЕДЕЛЕНИЯ ПРЕОБЛАДАЮЩИХ ЦВЕТОВЫХ ТОНОВ
Проанализированы программные средства определения доминирующих тонов изображения. Главным недостатком существующих аналогов является невозможность использования средства в сторонних веб-приложениях. Эти сервисы выдают готовую палитру цветов изображения, не предоставляя возможности внедрить данную технологию на собственные интернет-ресурсы. Также имеющиеся технологии не способны выделить доминирующий цвет изображения с учетом человеческого восприятия. Предложена реализация программного средства, позволяющая устранить указанные недостатки.
Рассмотрены этапы разработки системы обработки информации для определения доминирующих цветовых тонов изображения. Использованы два основных метода — конвертирование изображения в цветовое пространство HSV, с дальнейшим анализом параметров пикселей и использование кластеризации методом k-средних. Дополнительно предложено учитывать контрастность изображений, так как человеческое восприятие хорошо улавливает яркие или контрастные тона. Таким образом учитывается восприятие цвета человеком.
В качестве средств проектирования выбран язьгк программирования JavaScript, так как он подходит для различных интернет-ресурсов, а также интегрированная среда разработки PHP Designer.
Разработаны схема работы системы обработки информации, алгоритм и программа. Интерфейс программного средства интуитивно понятен и прост в эксплуатации. Приведены примеры использования компьютерной программы для определения доминирующих цветовых тонов изображения.
Ключевые слова: цвет, доминирующий цветовой тон, изображение, кластеризация, программное средство.
М. S. Shmakov, А. А. Tovmasyan
Belarusian State Technological University
THE ANALYSIS OF THE COLOR PALETTE OF IMAGES FOR DETERMINATION OF THE PREVAILING COLOR TONES
Software that determines the dominating tones of the image is analysed. The main lack of the existing analogs is the impossibility of using means in third-party web applications. These services give out a ready color palette of the image, without giving opportunities introductions of this technology on own Internet resources. Also technologies available aren't capable to mark out the dominating color of the image taking into account human perception. The realization of a software allowing to eliminate the specified defects is offered.
Development system stages of information processing for determination of the dominating color tones of the image are considered. Converting of the image in the HSV color space, with the further analysis of pixels parameters and use of a clustering by k-means method. In addition this offered to consider contrast of images as the human perception well catches bright or contrast tone. Thus the perception of color is considered by the person.
As design tools the JavaScript programming language is chosen, because it is suitable for various Internet resources and also the integrated environment of development of PHP Designer is chosen.
The work scheme information system processing, algorithm and the program is developed. The interface of a software is intuitively clear and easy-to-work. Examples of the computer program use for determination of the image dominating color tones are given.
Key words: color, dominant hue image, image, clustering software tool.
Введение. Цвет — качественная субъективная характеристика электромагнитного излучения оптического диапазона, определяемая на основании возникающего физиологического зрительного ощущения и зависящая от ряда физических, физиологических и психологических факторов. Восприятие цвета определяется ин-
дивидуальностью человека, а также спектральным составом, цветовым и яркостным контрастом с окружающими источниками света, а также несветящимися объектами [1, 2].
Определение доминирующих цветовых тонов изображения — техника, используемая, например, для выбора палитры веб-сайта, элемен-
тов пользовательского интерфейса. Также используется для сортировки изображения по цвету, что упрощает поиск для пользователей.
Основная часть. Цель работы — разработка системы обработки информации и программного обеспечения для определения доминирующих цветовых тонов изображений.
Для реализации поставленной цели были решены следующие задачи.
1. Проведен анализ существующих методик определения цветовых тонов изображений.
2. Разработан и реализован поиск доминирующего цвета на изображении с учетом восприятия.
3. Разработана система обработки информации для определения доминирующих тонов с использованием квантования изображений методом медианного сечения.
4. Осуществлен выбор и обоснование средств разработки.
5. Разработано и реализовано программное обеспечение в виде отдельных модулей с возможностью использования в веб-приложениях.
В настоящее время применение технологий для определения доминирующих тонов изображений приобрело большую популярность. Можно отметить следующие программные средства: РЬоШсора; Со1огИиШ;ег; Л^оЬеКи1ег; Р1еаси1ош. Все эти аналоги являются веб-сервисами, которые предоставляют цветовою палитру для вебстраниц. Подбор цветовой схемы осуществляется с помощью выделения доминирующих тонов загружаемого изображения.
Главным недостатком всех существующих аналогов является невозможность использования средства в сторонних веб-приложениях. Эти сервисы выдают готовую палитру цветов изображения, не предоставляя возможности внедрения данной технологии на собственные интернет-ресурсы. Также перечисленные аналоги не способны выделить доминирующий цвет изображения с учетом человеческого восприятия. Они не учитывают тот момент, что цвето-восприятия человека и компьютера не всегда совпадают.
Программное обеспечение Л^ЬеКи1ег имеет расширенные возможности для получения необходимой цветовой палитры, в сравнении с остальными аналогами, что является его преимуществом.
При разработке предлагаемой системы обработки информации основной акцент сделан на восприятии цвета человеком.
Основными достоинствами разработанного программного средства для определения доминирующих тонов является:
- возможность использования в сторонних веб-приложениях;
- выделение доминирующего цвета с учетом восприятия.
Для реализации проекта определения доминирующих тонов изображений использованы два основных метода — определение отношения пикселя к заданному набору цветов (в пространстве HSV) и использование кластеризации методом k-средних (k-means) [2]. Первым способом картинка конвертируется в цветовое пространство HSV, а затем перебираются все пиксели изображения и по значениям H, S и V определяется цвет. Число таких пикселей каждого цвета подсчитывается. Сохраняются и RGB-составляющие для последующего усреднения. Использовать метод k-средних для определения доминирующих цветов также довольно просто. Фактически, решение задачи заключается в определении кластеров цветов на изображении. При решении задачи определения доминирующих цветов каждый пиксель изображения рассматривается как точка в трехмерном пространстве RGB, в котором вычисляется расстояние до центров масс кластеров. Для оптимизации работы алгоритма k-means картинку желательно предварительно уменьшить. В качестве языка программирования используется javascript, так как он подходит для любого интернет-ресурса, вне зависимости от технологии разработки этого ресурса. Также к плюсам этого языка разработки можно отнести огромную библиотеку готовых полезных скриптов и интеграцию с браузерами, что позволяет разгрузить сервер. Для работы с языком программирования javascript использована интегрированная среда разработки php Designer8, предназначенная для веб-разработок. С помощью данного редактора можно создавать интернет-проекты на PHP, CSS, JS и HTML, использовать встроенную библиотеку функций. Имеется поддержка всех PHP фрейм-ворков (Zend, CodeIgniter, Yii, SymfonyandPrado), а также javascript фреймворков (jQuery, Ext JS, Dojo, MooTools, Prototype и других).
Для определения доминирующих тонов использован метод k-средних для кластеризации цветов на изображении. Идея метода при кластеризации любых данных заключается в том, чтобы минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров.
На первом этапе выбираются случайным образом начальные точки (центры масс) и вычисляется принадлежность каждого элемента к тому или иному центру. Затем на каждой итерации выполнения алгоритма происходит перевычисление центров масс — до тех пор, пока алгоритм не сходится. В применении к изображениям каждый пиксель позиционируется в трехмерном пространстве RGB, где вычисляется расстояние до центров масс.
В результате получаем массив с часто повторяющимися цветами. Каждому цвету соответствует определенное число вхождений. Исходя из количества вхождений того или иного цвета определяется доминирующий цвет. В каждом пикселе изображения содержится цвет, который образован некоторой комбинацией первичных цветов: красного, зеленого и синего.
Каждый из этих цветов имеет значение яркости в диапазоне от 0 до 255 для цифрового изображения разрядностью 8 бит. RGB-гисто-грамма образуется, когда компьютер сканирует все значения яркостей RGB и считает количество яркостей от 0 до 255 в каждом из них. Существуют и другие типы гистограмм, но все они будут иметь отмеченный базовый вид.
Гистограмма может также описать степень контраста в изображении. Контраст является измерением разницы яркостей между светлым и темными частями изображения. Широкие гистограммы отражают сцены со значительным контрастом, тогда как узкие гистограммы означают, что контраст снижен, и изображение может оказаться плоским.
В связи с этим для получения доминирующего цвета необходимо учитывать контрастность изображений, так как человеческое восприятие хорошо улавливает яркие или контрастные тона. Была разработана функция построения гистограммы.
С использованием рассмотренной методики разработана структура системы обработки информации для определения доминирующих тонов изображений, алгоритм и компьютерная программа определения доминирующих тонов изображений. Схема работы программного средства изображена на рис. 1.
Интерфейс приложения содержит два основных элемента: форма загрузки изображения и сам холст. На рис. 2 показана главная страница приложения.
Для загрузки изображения используется HTML элемент управления input. При нажатии на кнопку «Выбрать» открывается окно для выбора файла, где можно указать, какой файл пользователь желает использовать. Для одновременной загрузки нескольких файлов необходимо указать атрибут multiple.
Рис. 1. Схема работы программного средства
-! ^ р
1 Угюрцдачнгь Невм гыпм • и 0
, ИяСрачнйГ
* Зкрум«
. Немение мест-! Я Р|бочяй стал Г АиЫиЬМ!
^ Бн^лнтеси
Н Вндм Э ДжуМШЫ
^ Мушкд
2
| Смсгеыгай ПЙПЫ Демлшгля гр^-лпа
мин-.чр пит л
Мккют
(-НСПЫпЛЙ ППЗ
■ М Ьшпыен!^
вЛВ- Снстми-Ч" П^пг^!
' Ссп,
Иып фщн.10-
* фнМЫ
И-ф^Ге
Опта
Перенесите изображение в гту область
Рис. 2. Демонстрация загрузки изображения
Рис. 3. Результат поиска контрастного цвета Рис. 4. Результат, определяющий девять наиболее
часто встречающихся тонов на изображении
Результаты определения доминирующих цветовых тонов изображений показаны на рис. 3, 4.
Заключение. Разработанная система обработки информации позволяет выделить доминирующий тон в изображении, а также составить палитру цветов. Ее можно применить при сортировке изображений по цвету, что позволяет ускорить и упростить поиск по цвету продукции в каталоге.
К основным преимуществам данной системы в сравнении с другими существующими подобными сервисами можно отнести определе-
ние доминирующего тона на изображении с учетом цветовосприятия человеческого глаза, небольшой размер, простота использования, а также возможность использования в web-при-ложениях, независимо от технологии их разработки и создания.
В предложенной выше системе эффективно сочетается функциональность и простота использования, внедрение ее во внешний интернет-ресурс не вызывает у пользователя проблем, вопросов, непонятных ситуаций.
Литература
1. Киппхан, Г. Энциклопедия по печатным средствам информации. Технологии и способы производства. М.: МГУП, 2003. 1280 с.
2. Домасев М. В., Гнатюк С. П. Цвет. Управление цветом, цветовые расчеты и измерения. СПб.: Питер, 2009. 224 с.
References
1. Kippkhan G. Entsiklpedia po pechatnym sredstvam informatsii. Techlologii i sposoby proizvodstva [The encyclopedia on printing means of information. Technology and production methods]. Moscow, MGUP, 2003. 1280 p.
2. Domasev M. V. Gnatyuk S. P. Tsvet. Upravleniye tsvetom, tsvetovyye raschety i izmereniya [Color. Management of color, color calculations and measurements]. St. Petersburg, Piter Publ., 2009. - 224 p.
Информация об авторах
Шмаков Михаил Сергеевич — кандидат технических наук, доцент, заведующий кафедрой полиграфического оборудования и систем обработки информации, Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: contr7@tut.by
Товмасян Армонд Андрушевич — студент. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: armonster92@ gmail.com
Information on authors
Shmakov Mikhail Sergeyevich - Ph. D. Engineering, assistant professor, head of the Department of editing equipment and information processing systems, Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: contr7@tut.by
Tovmasyan Armond Andrushevich - student of the Publishing and Printing Faculty, Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: armon-ster92@gmail.com
Поступила 07.04.2015