ФизМатШкола № 30
 

ФизМатШкола № 30
ГРУППА КОМПЬЮТЕРНОЙ ГРАФИКИ
ФИЗИКО-МАТЕМАТИЧЕСКОГО ЛИЦЕЯ № 30

Computer Graphics Support Group
of 30 Phys-Math Lyceum

Tough Image Composer

Авторы:
1.Блохин ДмитрийBlohin Dmitry10-3 класс
2.Гордеев ДмитрийGordeev Dmitry10-3 класс
3.Каретников АлексейKaretnikov Alexey10-1 класс
4.Кожевников МихаилKojevnikov Michael10-5 класс
5.Косолобов БорисKosolobov Boris10-3 класс
6.Кулагин РоманKulagin Roman10-3 класс
7.Никитин АлексейNikitin Alexey10-1 класс
8.Романов АлексейRomanov Alexey10-5 класс
9.Чумаков МихаилChumakov Michael10-3 класс

Научный руководитель проекта: Галинский Виталий Александрович

Presentation

Введение и постановка задачи

Данная работа посвящена цифровой обработке изображений. На данный момент тема цифровой обработки изображений хорошо изучена и предоставляет разработчику широкий спектр возможностей для получения специальных эффектов, в основе которых лежат различные способы синтезирования изображений. Целью данной работы являляется разработка комплекса функциональных средств (и объединения их в единую систему) цифровой обработки растровых изображений на основе цифровой фильтрации, таблиц "подсмотра" (look-up-tables - LUT [1]), а также методов деформации изображений на основе билинейных преобразований. Комплекс разбивается на несколько логически законченных частей: система представления растровых изображений, цифровая фильтрация изображений (линейная и нелинейная), таблицы LUT, деформация изображений (warping & morphing). В основе всего проекта лежит разработанная система представления растровых изображений в памяти компьютера. Суть ее заключается в хранении изображений в послойном режиме - отдельно красная, зеленая и синяя составляющая, также, возможно, составляющая по прозрачности - альфа-канал [2]. Данная схема выбрана из-за удобства независимого хранения цветовых составляющих изображений, что особенно удобно в задачах применения цифровых эффектов, так как при их исполнении цветовые составляющие обрабатываются независимо друг от друга. Исходные изображения импортируются из файлов в некоторых стандартных форматов (BMP, TGA и т.п. - [3]). Результат выполнения программы экспортируется в вышеперечисленные форматы, а также в анимационный формат AVI.

Цифровая обработка изображений

Цифровая фильтрация растровых изображений [1, 4-6]- функция, получающая на вход одну "картинку" и возвращающая другую. В классической литературе по анализу и обработке изображений фильтрацию делят на несколько категорий: по приему входной информации (целиком изображение или его фрагмент) - на глобальную и локальную; по записи результата (обратно во входное изображение или в новое, результирующее) - на рекурсивную и нерекурсивную; по способу получения результата фильтра (отклика) - на линейную и нелинейную. В проекте реализованы локальные нерекурсивные линейные и нелинейные фильтры. Локальные фильтры характеризуются способом вырабатывания отклика на основе получения апертурного окна (прямоугольного фрагмента изображения фиксированного размера) и обработки цветов точек, попавших в него с целью получения результата по заданному алгоритму. Следует заметить, что перемещение окна инвариантно по отношению к исходному изображению в случае нерекурсивной фильтрации, в результате чего порядок обработки точек входного изображения неважен; главное, чтобы каждая точка была обработана. Линейные фильтры задаются таблицей весовых коэффициентов, нормирующим коэффициентом и коэффициентом увеличения яркости. Основное отличие нелинейной фильтрации от линейной заключается в том, что выход нелинейного фильтра формируется нелинейным образом от данных исходного изображения. В проекте реализованы нелинейные фильтры удаления "пятен" и выделения границ (фильтры Робертса, Собеля, процентильный).
Таблицы подстановки цветов [1] - удобный способ для некоторых преобразований изображений на основе построенных таблиц поточечной обработки. Принцип действия состоит в создании самой таблицы и замены в изображении всех цветов, значения которых совпадают с индексом одного из элементов таблицы, на значение данного элемента.

Деформация изображений

Для деформации картинки (warping) в нашей программе используются билинейные преобразования. При билинейном преобразовании две противолежащие стороны результирующего и исходного фрагмента делятся на одинаковое количество частей. Оба фрагмента делятся на одинаковое количество отрезков, и для каждой точке отрезка из результирующего фрагмента берётся точка из отрезка исходного фрагмента. В каждом фрагменте результирующего изображения отношения длин всех отрезков остаются одинаковыми. Для осуществления деформаций можно применять несколько различных математических методов [7]: аффинные преобразования, проективные преобразования, билинейные преобразования. Проведя анализ предлагаемых методов, мы пришли к выводу, что для редактирования параметров деформации растровых изображений необходимо соблюдение пропорций между отдельными частями изображений до и после преобразования (см. рис.). В результате чего приемлемым вариантом является случай билинейных трансформаций. Также важнейшим фактором является визуальная задача параметров для warping, а использование четырехугольных форм упрощает редактирование и хранение входной информации. Билинейные преобразования подходят для этого больше всего, так как в аффинных преобразованиях сохраняется параллельность, что приводит к непропорциональной деформации картинки, а в проективном - не выполняется сочленение сторон смежных четырехугольников. Для добавления последовательных покадровых преобразований между разными изображениями разработан алгоритм morphing - расширение warping за счет построений дополнительных преобразований между исходным и конечным изображениями. Результаты всех деформаций с возможными наложениями фильтров и т.п. могут быть записаны в анимационный файл.

Заключение

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

Литература

  • К.Линдли. "Практическая обработка изображений на языке Си", Москва: Мир, 1996.
  • James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes. "Computer Graphics: Principle and Practice", 2nd ed., Addison-Wesley Publishing Company, MA, 1990.
  • Д.Мюррей, У. ван Райпер. "Энциклопедия форматов графических файлов", К.: Издательская группа BHV, 1997.
  • В.Яншин, Г.Калинин. "Обработка изображений на языке Си для IBM PC", Москва: Мир, 1994.
  • В.Яншин. "Анализ и обработка изображений: принципы и алгоритмы", Москва: Машиностроение, 1995.
  • Ганс Юрген Шлихт. "Цифровая обработка изображений", Addison-Wesley Publishing Company, 1995
  • Vitaly A. Galinsky "Preparing Data for Vectorization in Geoinformation Systems", proceedings of SPIE: International Workshop on New Approaches to High-Tech Materials: Nondestructive Testing and Computer Simulation in Materials Science and Engineering. Volume 3345. SPIE, 1998. pp. 296-302.
ФМЛ № 30
 
Сайт Физико-математического лицея № 30, Санкт-Петербург, Россия