).
Интересует, как выравнять края объектов переднего плана после замены заднего фона?
Сейчас делаю это через блур краев, но хреново выходит — чтобы убрать пилу на краях надо сжимать объект,
(пальцы получаются, как у Кощея) или размывать края, что убирает четкость на объекте.
Здравствуйте, Vicul, Вы писали:
V>Интересует, как выравнять края объектов переднего плана после замены заднего фона?
В качестве идеи:
У тебя объект на квази-зеленом фоне, так. Тебе нужно получить три маски:
— область где гарантировано фон
— область границы
— область объекта
Тебе нужно из них восстановить альфа-канал.
Первую ты не рисуешь, т.к у нее альфа — 0. Вторая будет переходной. Работаешь только с цветовой компонентой — H. Из нее тебе нужно будет сделать альфа-канал от 0 — 255. Определяешь значение H которое соответствует 0 и H которое соответствует 255. Между — интерполируешь. И самый главный хинт, в переходной области убираешь зеленую компоненту в H пропорционально значению альфа-канала, чтобы убить отсвет зеленки на краях. Примерно так...
V>спасибо за идею, попробую реализовать, потом отпишу.
сделал на cv::bilateralFilter(), убил сразу два зайца — загладил края и убрал шум.
Все классно, но загрузка I7 проца при обработке 2К фреймов выросла с 11% до 60%, не считая загрузки GPU (17%). Хотя все пока на дебаг сборке крутится,
на релизе думаю меньше будет, но все равно фильтр этот грузит проц не по детски.
Здравствуйте, Vicul, Вы писали:
V> Все классно, но загрузка I7 проца при обработке 2К фреймов выросла с 11% до 60%, не считая загрузки GPU (17%). Хотя все пока на дебаг сборке крутится, V> на релизе думаю меньше будет, но все равно фильтр этот грузит проц не по детски.