Перейти к содержимому
Compvision.ru
mrgloom

Как сделать piecewise affine warp быстро?

Recommended Posts

Как сделать piecewise affine warp наиболее быстро?

То что сейчас есть:

Берется список трианглов и по 1 варпается на 1 потоке через warpAffine(для каждого триангла берется кроп вокруг него, варпается изображение и маска и вставляется на dst картинку по маске)

 

Варианты:

1. Сделать n тредов, каждый варпает свой триангл, будут ли проблемы при записи в 1 dst изображение?

2. Возможно быстрее посчитать координаты и сделать 1 раз remap?

3. Использовать cuda::warpAffine / cuda::remap.

4. Использовать что то типа opengl просто отрисовывая трианглы (они заранее заданы и константы, т.е. меняется только положение на dst изображении)

 

Еще варианты? Подводные камни?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Делал как то, использовал во многих проектах.

Работает быстро вот залил на гит: https://github.com/Smorodov/PiecewiseAffineWarper 

Документацией не озадачивался, т.к. использовал только для себя.

 

Пример использования можно посмотреть здесь: https://github.com/Smorodov/FaceRotate/blob/master/main.cpp  но тут может быть более старая версия piecewise affine warper-а.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×