УДК 004.932
СРАВНЕНИЕ ИНТЕРПОЛЯЦИОННЫХ МЕТОДОВ МАСШТАБИРОВАНИЯ
РАСТРОВЫХ ИЗОБРАЖЕНИЙ
Трубаков А.О., Селейкович М.О.
Брянский государственный технический университет, Брянск, Россия
Статья посвящается проблеме эффективного масштабирования растровых изображений. Рассматриваются и анализируются причины появления негативных эффектов, возникающих при увеличении разрешения растровых изображений. Выполнен анализ эффективности таких методов, как метод ближайшего соседа, билинейная интерполяция и бикубическая интерполяция. Рассматривается методика экспериментального исследования, приводятся результаты сравнения алгоритмов по качеству получаемых изображений и быстродействию. Итогом исследования являются рекомендации по выбору алгоритмов увеличения разрешения изображений. Ключевые слова: растровая графика, масштабирование изображений, билинейная интерполяция, бикубическая интерполяция.
DOI: 10.22281/2413 -9920-2017-03-01-92-98
Введение. Масштабирование растровых изображений является одной из важнейших задач наряду с выполнениями поворотов, изменением контрастности и т.д. При этом актуальна потеря качества изображения. В частности, возможны существенные искажения геометрии мелких деталей и появление ложных узоров, возникают некоторые негативные эффекты.
1. Алиасинг - эффект «ступенчатости» линий. Связан с проблемами отображения линий, не параллельных одной из осей координат. Ступенчатость возникает, когда точки на линиях пересекают строки или столбцы пикселей под небольшим углом. Часть линии шириной в один пиксель может попасть на один пиксель экрана, а часть - на другой. Возникает неопределенность: можно рисовать эту часть как один пиксель на одном ряду, один пиксель на другом ряду или закрашивать оба пикселя. К сожалению, все три способа вносят хорошо заметные дефекты в изображение [2].
2. Размытие изображений. Данный эффект особо нежелателен там, где имеют место объекты с выраженными границами. Он связан с тем, что при увеличении изображений ряд методов приводят к тому, что граница становится размазанной, не четкой. В дальнейшем это может не только исказить изображение визуально, но и приведет к усложнению процедуры сегментации и распознавания [3].
3. Эффект Гиббса. На изображениях проявляются ореолы возле резких перепадов интенсивности. Незначительное искажение изображений человек может и не заметить, тогда как при больших потерях информации, например, при сильном изменении масштаба, данный артефакт может стать раздражающим. По негативному эффекту он соизмерим с потерей цветности [4].
Существуют различные методы масштабирования изображений, характеризующиеся различным соотношением быстродействия и качества. В данной статье сравниваются некоторые популярные методы увеличения изображений.
Обзор исследуемых методов. Наиболее популярными методами увеличения масштаба изображений являются методы, основанные на интерполяции цветов пикселей. Принцип действия заключается в том, что для каждой точки конечного изображения берется фиксированный набор точек исходного и интерполируется в соответствии с его взаимным положением и выбранным фильтром. Количество точек тоже зависит от фильтра.
Вырожденным случаем интерполяционных методов является метод ближайшего соседа. Для каждого пикселя конечного изображения выбирается один пиксель исходного, наиболее близкий к его положению с учетом масштабирования. В частности, если выполняется увеличение в целое число раз m, то одному пикселю исходного изображения соответствуют m2 пикселей увеличенного изображения, имеющих тот же цвет.
В остальных случаях значение цвета в произвольной точке представляется как линейная комбинация цветов в некоторой окрестности точки [1]:
Уд (, - х)Ж(, - у),
',}
(1)
где х, у - координаты вычисляемого пикселя нового изображения в системе координат старого изображения.
Например, пусть н, н* - ширина старого и нового изображения соответственно. Если пиксели в матрице цветов нумеруются с нуля, то координате х* в новом изображении будет соответствовать координата (н-1) в старом, причем t = х*/(н*-1). Очевидно, t всегда содержится на отрезке [0; 1]. Функция Ж определяет вес пикселя и формализует отношение удалённости пикселей: чем дальше пиксель от (х, у), тем меньше его вес. Веса вне окрестности нулевые.
Билинейная интерполяция рассматривает квадрат 2x2 исходного пикселя, окружающих неизвестный. В качестве интерполированного значения используется взвешенное усреднение этих четырёх пикселей. Функция веса, используемая для (1), имеет вид (рис. 1):
Г1-1 х |,| х |< 1
Ж(х) = {о,|х|>1 1 (2)
Бикубическая интерполяция рассматривает массив из 4x4 окружающих пикселей -всего 16. Поскольку они находятся на разных расстояниях от неизвестного пикселя, ближайшие пиксели получают при расчёте больший вес. Функция веса имеет вид (рис. 1):
'(х2 -1)(| х | -2) / 2,| х |< 1 Ж(х) = \ -(| х | -1)(| х | -2)(| х | -3),1 <| х |< 2 (3)
0 в противном случае
Функции, приведённые в (2) и (3), являются достаточно распространёнными для определения весов пикселей.
А)
3 2 1 Б)
3 1
Рис. 1. Функции веса пикселей: а - билинейная интерполяция; б - бикубическая интерполяция
Методика исследования. Для экспериментального сравнения описанных методов была отобрана коллекция изображений, некоторые элементы которой представлены на рис. 2. Изображения различаются по своей геометрии, по чёткости границ и разнообразию цветов. Первое изображение было выбрано для наглядной демонстрации, насколько исследуемым методам свойственен алиасинг.
Экспериментальное сравнение основывалось на программной реализации при следующих параметрах: язык С#, использован класс IplImage библиотеки OpenCvSharp.
Результаты исследования. Метод ближайшего соседа характеризуется появлением заметной ступенчатости даже при незначительном увеличении изображений. На рис. 3 приведены результаты для некоторых тестовых изображений при увеличении их в 1,5 раза.
Метод отшжайшего соседа Интерполяция
Рис. 3. Проблема ступенчатости при использовании метода ближайшего соседа (увеличение
в 1,5 раза)
Заметим, что:
1) при наличии достаточно чётких границ между объектами, линии которых идут под углом к осям координат, метод ближайшего соседа даёт заметную ступенчатость, интерполяционные методы - гораздо меньшую (например, она есть для нижней стороны многоугольника, но видна только при пристальном взгляде);
2) для границ, параллельных одной из осей, негативных эффектов не возникает (на рис. 3 это верхняя сторона многоугольника);
3) при достаточно больших увеличениях метод ближайшего соседа даст изображение с ярко выраженной пикселизацией (рис. 4);
4) при небольших увеличениях билинейная и бикубическая интерполяция дают примерно одинаковое качество изображения. При многократных увеличениях билинейная интерполяция даёт гораздо более выраженный эффект ступенчатости (рис. 5 и 6).
Рис. 4. Метод ближайшего соседа (увеличение в 3 раза)
Рис. 5. Сравнение билинейной (слева) и бикубической (справа) интерполяции
(увеличение в 7 раз)
Если на изображении нет объектов с ярко выраженными границами, резких перепадов цветов, то качество, обеспечиваемое рассматриваемыми методами увеличения изображений, отличается в меньшей степени (рис. 7). Однако это не означает, что при сколь угодно большом увеличении разницы в качестве не будет.
Также для полноты картины было осуществлено сравнение времени выполнения алгоритмов. Для того, чтобы не привязываться к производительности компьютера и его техни-
Рис. 6. Сравнение билинейной и бикубической интерполяции (увеличение в 8 раз)
Метод ближайшего соседа Бикубическая интерполяция
Рис. 7. Изображение без резких перепадов цветов (увеличение в 3 раза)
ческим характеристикам, был введён параметр «снижение быстродействия» - отношение времени выполнения алгоритма ко времени выполнения метода ближайшего соседа. В табл. 1 приведены результаты для увеличения изображений из тестового набора (рис. 1) в 2 раза и в 5 раз. При замере времени учитывалось только собственно вычисление цветов пикселей увеличенного изображения. Не учитывались время загрузки исходного файла и сохранения результатов.
Таблица 1
Сравнение быстродействия интерполяции относительно метода ближайшего соседа
№ теста Размеры Снижение быстродействия при интерполяции
билинейной п ри увеличении бикубической при увеличении
x2 x5 x2 x5
1 250x200 5,5 5,5 28,1 24,5
2 179x134 5,3 6,9 24,4 23,7
3 278x178 5,5 5,5 26,5 24,7
4 246x250 5,5 5,4 24,2 23,9
5 419x210 5,6 5,6 24,7 24,5
Выводы. Среди трёх рассмотренных методов при увеличении изображения до 3-4 раз целесообразно выбирать билинейную интерполяцию, поскольку в таких ситуациях она не характеризуется существенными визуальными отличиями от бикубической, но работает намного быстрее. При более крупных масштабах целесообразна бикубическая интерполяция. Для решения проблемы относительно невысокого быстродействия бикубической интерполяции целесообразно рассмотреть возможные способы интерполяции по 9 или 16 пикселям, обеспечивающие примерно такое же качество, но с меньшим количеством вычислительных операций. В частности, это может быть достигнуто путём упрощения функции весов или упрощения интерполяции в частных случаях (например, когда точка лежит ровно на стыке четырёх пикселей).
Список литературы
1. Гонсалес, Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс. М.: Техносфера, 2005. - 1072 с.
2. Петровичев, Е.И. Компьютерная графика / Е.И. Петровичев. М.: Московский государственный горный университет, 2003. - 200 с.
3. Гулаков, В.К. Сегментация пейзажных изображений / В.К. Гулаков, С.Н. Огурцов, А.О. Трубаков // Информационные технологии. - 2013. - №1. - С. 40-45.
4. Гулаков, В.К. Эффективный алгоритм преобразования полноцветного изображения к палитре для систем поиска по содержанию / В.К. Гулаков, А.О. Трубаков А.О. // Информационные технологии. - 2011. - № 8. - С. 22-28.
Сведения об авторах
Трубаков Андрей Олегович - кандидат технических наук, доцент кафедры «Информатика и программное обеспечение» ФГБОУ ВО «Брянский государственный технический университет», trubakovao@mail. т.
Селейкович Марина Олеговна - магистрант по направлению «Информатика и вычислительная техника»ФГБОУ ВО «Брянский государственный технический университет», circus8girl@yandex. т.
COMPARISON OF INTERPOLATION METHODS FOR RASTER IMAGES SCALING
Trubakov A O., Seleykovich M.O. Bryansk State Technical University, Bryansk, Russian Federation
The article is devoted to the problem of efficient scaling of raster images. We consider some negative effects, related with scaling of raster images. Besides, we consider an analysis of several methods that are used to increase sizes of raster images. Among them are nearest neighbor algorithm, bilinear interpolation, bicubic interpolation. We consider our research methodology, and then we tell about result of algorithms comparison. We use two criteria: quality of output images and performance of algorithms. Due to this research we can tell some recommendations on the choice of algorithms for increment of raster images. It is useful because there is no single universal algorithm for efficient solution to the problem.
Keywords: raster graphics, image scaling, bilinear interpolation, bicubic interpolation. DOI: 10.22281/2413 -9920-2017-03-01-92-98
References
1. Gonzalez R., Woods R. Tsifrovaya obrabotka izobrazheniy [Digital Image Processing]. Moscow, Publishing house «Technosphere», 2005. 1072 p.
2. Petrovichev E.I. Kompyuternaya grafika [Computer Graphics]. Moscow, Moscow State Mining University, 2003. 200 p.
3. Gulakov V.K., Ogurtsov S.N., Trubakov A.O. Segmentation of the landscape images. Information technology, 2013, No.1, pp. 40-45.
4. Gulakov V.K., Trubakov A.O. An Efficient algorithm to convert full color images to palette for search engines content. Information technology, 2011, No.8, pp. 22-28.
Authors' information
Andrey O. Trubakov - Candidate of Technical Sciences, Associate professor of the Depar-tament "Computer Science and Engineering" at Bryansk State Technical University, trubako-vao@mail.ru.
Marina O. Seleykovich - undergraduate of the faculty "Computer Science and Engineering" at Bryansk State Technical University, circus8girl@yandex.ru.
Дата публикации (Date of publication): 25.03.2017