|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Computer Graphics Support Group of 30 Phys-Math Lyceum. Tough Warping Morphing
Tough Warping Morphing1992-GRAPH_PP 19992-TRF
Научный руководитель проекта: Галинский Виталий Александрович ТезисыПроект посвящён разработке и реализации системы геометрических преобразований изображений на основе заданных областей соответствия и цветовых составляющих. Перед авторами была поставлена задача создания программы, реализующей интерфейс по заданию входных данных для преобразования изображений и выполняющей необходимые вычисления с последующей записью результата в анимационный файл. Авторами разработаны алгоритмы задания областей однозначных соответствий зон преобразований, алгоритм вычислений warping (трансформация без цветовых искажений) и morphing (в результирующем изображении участвует вторая картинка для добавления изменения цвета). Проект можно разделить на следующие части: система хранения и обработки изображений, подсистема установки геометрических зон соответствий, математический аппарат вычислений преобразований, подсистема анимации с возможностью построения выходных анимационных файлов, графический интерфейс с пользователем с возможностью редактирования входных данных и управлением всех частей проекта. Так как основой программы являются изображения, была создана подсистема хранения и обработки растровых изображений в оперативной памяти. Основная идея заключается в представлении всех 4-х слоев картинки (красный, зеленый, синий оттенок плюс так называемый альфа-канал) объединенных в единое 4-й байтовое представление. Для оперативного доступа к отдельным точкам разработана система индексации строк картинки. Для обработки изображений разработана система хранения зон соответствий в виде сетки четырёхугольников. Сеть представляет собой совокупность линейного массива координат, которые хранятся в виде рациональных чисел от 0 до 1. Одна из главных задач всего проекта — модуляция перехода одного изображения в другое (morphing). Для выполнения этой задачи был реализован алгоритм “warping”, преобразующий картинку при помощи геометрических билинейных преобразований. Альтернативные преобразования — аффинные и перспективные — в результате анализа было решено не использовать, так как при билинейном варианте после преобразования сохраняются пропорции между различными частями картинки. Авторами была разработана система создания анимации построения геометрического преобразования изображения. Программа многопоточно создаёт цепь изображений в несжатом виде и при завершении преобразований вызывает процесс консольной программы ffmpeg, кодирующей последовательность изображений в анимационный файл. В программе доступны форматы таких анимационных файлов, как *.mkv и *.avi. Был разработан метод захвата консольного вывода с помощью именованных каналов (pipe — механизмов коммуникации между потоками) и синтаксический разбор записей стандартного выходного потока и потока ошибок консоли ffmpeg для отслеживания состояния записи анимации и вывод этого состояния в диалоговое окно в индикатор состояния. Таким образом, нам удалось выполнить следующие задачи: разработана система анимации и закончена визуализация warping и morphing. В программе реализованы и оптимизированы различные алгоритмы билинейных преобразований. Эта программа может быть задействована при редактировании изображений, создании фильмов и других анимаций. Проект реализован на языке Си с использованием Windows API 32. Литература
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|