Есть обычное растровое изображение. Необходимо провести морфинг (варпинг) по некоторым опорным(reference) точкам.
Например, есть фотография человека, необходимо его "улыбнуть", вытянуть уши и т.п.
Часто используются метод упругой деформации тел, метод угловых изгибов и т.п.
Существует большое количество различных методик, есть готовые реализации библиотек, однако хочется задействовать аппаратную акселерацию:
требуется обрабатывать очень высококачественные снимки и в больших количествах.
Вопрос: Есть ли в OpenGL, WPF, DirectX или ещё где-нибудь некий инструмент, позволяющий производить эффект морфинга посредством перемещения базовых точек на плоском растровом изображении?
Может быть картинку можно натянуть на плоскость и работать морфировать уже её?
Re: Морфинг 2D-изображения с акселерацией возможен?
Инструментов буквально морфинга, насколько знаю, нет. Можно натянуть текстуру на сетку (плоский mesh). Сетку строить, основываясь, на базовых для вашего морфтнга кривых/точках. Эту сетку — деформировать.
Я этого не делал, но приходит такая мысль. Построить некую характерную обобщенную параметризованную сетку для лица вообще. У вас, как я понимаю, все автоматизировано. Для конкретного лица подгоняете параметры этой сетки под конкретное лицо и затем деформируете, как захочется (рулите несколькими параметрами сетки).
Re: Морфинг 2D-изображения с акселерацией возможен?
Здравствуйте, Neosyst, Вы писали:
N>Есть обычное растровое изображение. Необходимо провести морфинг (варпинг) по некоторым опорным(reference) точкам. N>Например, есть фотография человека, необходимо его "улыбнуть", вытянуть уши и т.п. N>Часто используются метод упругой деформации тел, метод угловых изгибов и т.п. N>Существует большое количество различных методик, есть готовые реализации библиотек, однако хочется задействовать аппаратную акселерацию: N>требуется обрабатывать очень высококачественные снимки и в больших количествах.
N>Вопрос: Есть ли в OpenGL, WPF, DirectX или ещё где-нибудь некий инструмент, позволяющий производить эффект морфинга посредством перемещения базовых точек на плоском растровом изображении? N>Может быть картинку можно натянуть на плоскость и работать морфировать уже её?
Морфинг это вообще то плавный переход одного изображения в другое. Если нужно вытянуть уши, то нужно уже готовую конечную иметь картинку. Аппаратная акселерация осуществляется на шейдере.
Re: Морфинг 2D-изображения с акселерацией возможен?