我需要开发一种算法来从前景图像中删除背景 . 我想用色度键控 . 这将在现场摄像机流上完成,我需要在C中使用OpenCV .
我认为的算法是这样的:
-
从网络摄像头捕获帧到矩阵
-
计算3d rgb空间图
-
某个值附近的点,例如(10,255,10)为绿色背景 .
-
将绿色区域周围的所有点转换为0 .
-
其余为1 .
-
与原始图像相乘(卷积)
-
应该摆脱背景 .
我想帮助一种方法从前景图像中删除纯色背景,而不删除前景图像中的颜色 .
有没有像特殊类型的裁剪功能去除背景?
2 回答
我'm using OpenCV from Python. Suppose you followed a basic tutorial and have the frame from the camera and have a background image. A single line of code should do the trick with the numpy' s where功能 .
现在,outputImage包含原始帧,它不是绿色,而背景图像是绿色 . 如你所说,你应该使用一些容忍度 .
我在C中使用OpenCV,但我不完全明白你想要什么,@ Seif(抱歉我的英语不好) . 你想用前景的颜色替换背景中的绿色吗?你被困在“与原始图像相乘(卷积)”?你的算法是非常真实的,但是你必须把绿色放到角度,圆圈......并实现它们,有很多算法要做(我这样做),否则,我认为除了改变任何绿色之外它是不可能的像素到前景的相似像素 .