Анимировать мои обнаруженные объекты в OpenCV - PullRequest
2 голосов
/ 25 октября 2011

Мне было интересно, как можно создавать такие эффекты, как светящийся шар или светящаяся линия в моих видеокадрах в OpenCV.Любые советы о том, где я могу начать или что я могу использовать, чтобы я мог создавать простые анимации в своем выводе?

Заранее спасибо!

1 Ответ

1 голос
/ 26 октября 2011

Эти эффекты легко реализовать с помощью примитивных операций с пикселями OpenCV.Допустим, ваш шарик идентифицирован как белая область на отдельном изображении маски mask.Размыть эту маску с помощью GaussianBlur, а затем объединить результат с исходным изображением img.Для эффекта свечения вам, вероятно, понадобится что-то вроде Screen в режиме наложения Photoshop, который только осветлит изображение:

Result Color = 255 - [((255 - Top Color)*(255 - Bottom Color))/255]

Реальный ключ к "жару""Эффект с использованием пикселей в нижележащем слое в качестве слоя экрана .Это переводится в OpenCV:

cv::Mat mask, img;
...
mask = mask * img; //fill the mask region with pixels from the original image
cv::GaussianBlur(mask, mask, cv::Size(0,0), 4); //blur the mask, 4 pixels radius
mask = mask * 0.50; //a 50% opacity glow
img = 255 - ((255 - mask).mul(255 - img) / 255); //mul for per-element multiply

Я не тестировал этот код, поэтому я могу ошибиться.Color Dodge также полезный режим смешивания для свечения.Подробнее здесь: Как фотошоп смешивает два изображения вместе?

...