Автор: Иаиа Аиа, 10 Июня 2010 в 13:20, дипломная работа
Технология создания морфинга изображений в Delphi
Морфинг — это видеоэффект, заключающийся в плавном перетекании одного изображения в другое. Иногда морфингом называют эффект наплыва, когда одна сцена затемняется или затуманивается, а вторая в это время проявляется все резче и сменяет первую. Однако лучше разделять эти понятия. В отличие от наплыва, морфинг обеспечивает соответствие характерных (наиболее привлекающих внимание) точек и контуров начального и конечного изображений. Например, преобразование одного лица в другое, при котором задается соответствие положения характерных точек глаз, носа и т.д.
Финальный
морфинг выполняется на базе суперпозиции
соответствующих слоев с учетом
их порядка и степени
Еще одним нововведением в MorphMan 4.0 является так называемый Canvas-слой — специальный тип фона, который не изменяется в процессе морфинга. MorphMan позволяет выбрать в качестве фона статическое изображение, видео или холст заданного цвета.
MorphMan
4.0 хранит морфинг-проекты,
Но главное достоинство MorphMan 4.0 — это возможность создания морфинга видео в видео.
Пользователь
ставит маркеры в начальном и
конечном кадрах, а в промежуточных
кадрах программа расставляет их
сама. Результат расстановки
В Morpher небольшой программе мало дополнительных функций, но зато есть всё необходимое непосредственно для морфинга.
Отметим, что дополнительные функции можно выполнить и в других приложениях. Например, на входе программа требует файлы только в формате BMP. Но если у вас есть конвертор, то вы легко можете перевести любой файл в BMP. То же самое касается функций по обработке исходного изображения — многим удобнее сделать это в Photoshop. Результат Morpher позволяет сохранить в формате AVI (перетекание первого кадра во второй), как статический файл BMP (среднее между первым и вторым файлами) или в виде последовательности BMP-файлов.
Если вам не хватает данных форматов, импортируйте серию файлов в Flash двумя щелчками мыши и конвертируйте их в SWF или в другой необходимый вам видеоформат.
В незарегистрированной версии в результирующих кадрах внизу ставится метка, напоминающая о том, что изображение создано с помощью Morpher. Метка ставится весьма интеллигентно: не поверх изображения, а внизу, так что удалить ее, в принципе, не составляет никакого труда. А вот информацию о том, сколько нужно заплатить, чтобы зарегистрировать версию и убрать эту подпись, мы так и не нашли ни на сайте разработчика, ни в разделе Help.
Исследование показало, что человеческий мозг всегда пытается найти сходство человека с какой-либо известной личностью, даже если это виртуальный человек, созданный с помощью морфинга. На (рис.1) показана последовательность кадров, на которых Мерилин Монро превращается в Маргарет Тэтчер. Опросы показали, что лицо, в котором содержалось 60% черт лица Мерилин Монро и 40% черт Маргарет Тэтчер, распознавалось как Мерилин Монро в более зрелом возрасте, а лицо с 40% черт Мерилин Монро и 60% черт Маргарет Тэтчер — как лицо Маргарет Тэтчер, которое выглядит «более сексапильно, чем обычно».
Рис.
1. лицо с 40% черт Мерилин Монро и 60% черт
Маргарет Тэтчер
Одним из результатов исследования явилось определение трех стадий работы мозга при распознавании лица:
Алгоритм зависит от требуемого качества, скорости и способа задания соответствия элементов изображений. Удобно задавать соответствия, пользуясь сеткой (mesh), например. Плотность сетки влияет на скорость вычислений, требования к памяти, качество получаемого изображения. Редактор, представляющий способы задания соответствий, должен привести их к сетке. Художник, работая с редактором, может вообще не подозревать о том, что в конечном счете все задается таким образом (вообще говоря, чем лучше редактор этот факт скрывает, тем он удобнее).
Сетка задается узлами, и именно эти узлы(точки) при tweenig’e плавно движутся от своего первого положения во второе, то есть tweening морфирует сетку. Warping осуществляется в соответствии с начальной сеткой и сеткой, полученной для данного кадра. Для узловых точек это легко: мы знаем, что в исходной сетке узел находится в точке (х,у) с цветом с. Значит в требуемой картинке точка, в которой теперь находится узел, имеет цвет с. Для остальных точек несколько сложнее: тут применяется билинейная или бикубическая интерполяция.
В алгоритме, предложенном Douglas Smithe для создания спецэффектов к фильму “Willow” (1988), применяется двух проходное преобразование изображения: в начале изображение деформируется по х, а затем по у.
На деформацию сетки действуют ограничения: ее ячейки не должны накладываться друг на друга, и боковые узлы не должны двигаться. В более сложных алгоритмах в узлах сетки можно задавать дополнительные параметры – например, скорость dissolving’а, таким образом, регулируя нежелательное быстрое появление светлых частей второго изображения и т.п.
Технологии, использующие неявную геометрию, полагаются на небольшое число исходных изображений, но при этом используют дополнительную информацию о соответствиях (matches) пикселей на различных изображениях. Термин неявная геометрия означает, что 3D положения точек не восстанавливаются, а целевое изображение реконструируется с помощью манипуляции с соответствиями на изображениях.
Такой подход позволяет увеличить дистанцию между изображениями, на которой возможна реконструкция произвольных значений пленоптик-функции.
Алгоритм
интерполяции вида (view interpolation) позволяет
реконструировать вид с произвольного
положения камеры. Для его работы необходим
плотный оптический поток (dense optical flow)
между двумя соседними изображениями.
Однако для хороших результатов исходные
камеры должны находиться рядом, чтобы
во время перемещения не происходило многочисленных
изменений видимости (появление, пропадание
объектов). Изменения видимости составляют
серьезную проблему для методов, основанных
на неявной геометрии, так как они не могут
быть описаны непрерывной функцией оптического
потока.
Рис.2
Интерполяция вида. Слева - исходное изображение.
Справа - целевое. В центре - сгенерированные
изображения
Недостатком указанного метода является то, что на практике получение оптического потока может быть очень трудной задачей, в частности для реальных изображений. Для ее решения применяются технологии машинного зрения, такие как плотное стерео (dense stereo), которые известны своей неустойчивостью.
Недостатком такого метода является то, что на практике получение оптического потока может быть очень трудной задачей, в частности для реальных изображений. Для ее решения применяются технологии машинного зрения, такие как плотное стерео (dense stereo), которые известны своей неустойчивостью.
Другой
подход, известный как видовой морфинг
(view morphing) не требует известного оптического
потока и позволяет восстанавливать произвольные
промежуточные изображения на линии, соединяющей
центры проекции исходных изображений.
Каждое промежуточное изображение является
линейной комбинацией двух соседних. При
этом на этапе предобработки изображения
проходят процесс ректификации, после
которого соответствующие эпиполярные
линии становятся горизонтальными. Соответственно,
на этапе постобработки происходит процесс
де-ректификации изображений.
Рис.3
Видовой морфинг. В центре - сгенерированное
изображение
Его
недостатком является ограниченные
возможности перемещения, а также
трудности с изменениями
Эти методы, по сути, используя набор из двухмерных выборок пленоптик-функции (изображений), интерполируют ее, достраивая до непрерывной в области между известными значениями.
В работе приводится метод, названный пленоптик-моделированием. В качестве выборок пленоптик-функции используются цилиндрические панорамы, расположенные на небольшом расстоянии друг от друга (не более полутора метров). С использованием алгоритмов плотного стерео вычисляется диспаритет каждой точки панорамы, который используется при создании промежуточного изображения.
Кривые Безье. Одним из основных элементов векторной графики являются кривые Безье, так как метод кривых Безье позволяет создавать кривые любой формы. Они широко используются для решения задач аппроксимации, потому что их удобно описывать аналитически, а также просты для наглядного геометрического построения. Названы они так были в честь Пьера Безье, он первым представил их широкой публике (это было в 1962 г.), хотя разработал их первым Поль де Кастелье. Разрабатывались кривые независимо обоими инженерами для проектирования кузовов автомобилей французских компаний "Рено" (Безье) и "Ситроен" (де Кастелье). Именем де Кастелье назвали рекурсивный метод построения кривых (алгоритм де Кастелье). Впоследствии кривые Безье стали широко использоваться не только в автомобилестроении, но и в системах автоматизированного проектирования и программах компьютерной графики для моделирования гладких линий; однако не все виды кривых Безье имеют широкое применение в компьютерной графике - кривые высших степеней используют редко ввиду их высоких требований к вычислительным ресурсам, поэтому наиболее популярными являются кубические кривые Безье (для создания сложных линий, кривые объединяют в сплайны, причем смежные опорные точки обеих кривых должны лежать на одной линии).
Рис.4
Кривая Безье и, образующий ее, многоугольник
Кривая Безье задается многоугольником и имеет математическое параметрическое представление вида:
где базис Безье или Бернштейна, или функция аппроксимации
— это i-тая функция базиса Бернштейна порядка n. Здесь i — порядковый номер опорной вершины, n — порядок определяющей функции базиса Бернштейна — и, следовательно, сегмента полиномиальной кривой, на единицу меньше количества точек определяющего многоугольника. - биномиальные коэффициенты.
- функция компонент векторов опорных вершин (координаты вершин многоугольника Безье).
Метод de Casteljau основан на разбиении отрезков, соединяющих исходные точки в отношении t (значение параметра), а затем в рекурсивном повторении этого процесса для полученных отрезков.
Кривые Безье бывают линейные, квадратичные, кубические и т.д. - кривые высших степеней. Линейная кривая Безье является отрезком и задается двумя опорными точками, которые являются концами этого отрезка; квадратичная кривая имеет 3 опорные точки; далее аналогично.
Примеры
математического писания
Преобразование квадратичных кривых Безье в кубические:
Квадратичная кривая Безье с координатами преобразовывается в кубическую кривую Безье с координатами .
Некоторые свойства кривых Безье: