Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужна идея а лучше ссылка где есть описание [D4, D5, D6, D7, Win95/98, Win2k, WinXP]


ma5ter ©   (2004-05-28 12:40:00) 

subj деформации изображения по репёрным точкам. Например, 2 картинки одинакового размера. Пользователь указывает точки, которые соответствуют друг другу, а прога формирует новое изображение на основе двух старых с учетом искривления второго по репёрным точкам. Причем интересен случай начиная от 1 точки до N.

Может кто сталкивался с такой задачей и знает где искать сам алгоритм. Ведь на конечное изображение влияют все указанные точки, просто кто-то в большей степени, а кто-то в меньшей.


Mantic0re   (2004-05-31 12:00:00) [1]

Если я правильно понял, то этот алгоритм обзывается warping и является частью 2D морфинга.. (Гугл в помощь)
Там всё просто - изображение делится на сетку, с вершинами - заданными точками (удобней использовать треугольную сетку), а потом текстуришь каждую ячейку (треугольник) - получается деформация.
Но это для простейшего линейного случая, если же тебе нужна деформация по весовым коэффициентам, то тут наверно надо использовать полиномы(сплайны), расчитывая силу влияния каждой точки на окружающих.
А чтобы "смешать" 2 изображения в одно можно использовать fading - тоесть взять компоненты цвета каждой точек в требуемой пропорции:
Rрезульт = R1 * n  +  R2 * (1 - n)
Gрезульт = G1 * n  +  G2 * (1 - n)
Bрезульт = B1 * n  +  B2 * (1 - n), где 0<= n <=1


ma5ter   (2004-05-31 11:33:00) [2]

неужели нет идей?


Наверх

Титульная страница Поиск, карта сайта Написать письмо