|
|
|||||||||||||||||||||||||||||
|
Простой хромакей по цветовой компоненте RGBИсточник: habrahabr hasalex
Все чаще и чаще нам на глаза попадается использование хромакея в самых неожиданных местах. Долго свербила мысль попробовать реализовать что-то свое. Подумав некоторое время и, зайдя с дальнего и не самого простого варианта с использованием модели HSL, сходу что-то универсальное реализовать не получилось. Надо сказать, это "некоторое" время весьма прилично затянулось. И тут совершенно неожиданно пришла в голову мысль попробовать с простого варианта, просто отбросив одну из компонент и по ее значению сделать альфа-канал. За основу был взят зеленый канал, как один из наиболее часто используемых в подобных задачах. Имея наобум взятое изображение из интернета
и аналогично взятый фон
идем реализовывать алгоритм для 24-битного изображения и 8-битной маски (альфа-канала):
Запускаем, получаем: маска и по маске наложенное изображение на наш фон В итоге наша реализация показывает довольно неплохой, но очень грубый результат. В частности, мы видим на полученном изображении зеленый туман. Вглянем на гистограмму маски:
Видим, что основная часть маски в области прозрачности лежит в интервале 17-100. Поэтому растянем интервал значений 100-255 на интервал 0-255, "убив" тем самым пелену и получим вот такую гистограмму
и вот такую маску, более похожую на необходимую нам . В результате мы избавились от ненужной нам пелены , но видим оставшийся ореол вокруг маски и зеленую "засветку" тона, которая у нас естественно смотрелась на первоначальном зеленом фоне и совсем инородно смотрится на нашем новом фоне. В целом результат обошелся дешево, но остается ряд вопросов. Как бороться с ореолом? Можно попробовать сузить маску сверткой, или попробовать как-то иначе растянуть гистограмму маски. А вот как бороться с засветом я пока не знаю, поэтому для дальнейщей работы пищи достаточно. Критика, советы и рекомендации приветствуются. Так же буду признателен ссылкам на подобные работы, в том числе их реализацию при помощи GPU, OpenCV и пр. Ссылки по теме
|
|