我需要知道有没有一种方法可以删除直播网络摄像头的背景。 有一种称为背景减法器的方法。如果有人知道使用它,请帮我解决这个问题..
问问题
2044 次
1 回答
0
如果您已经有背景图像,则可以计算
我 - 乙
其中 I 是图像,B 是背景(例如图像)
乙 - 我
也会起作用。
由于图像不存储负数,您可能希望将这两者结合使用
(I - B) + (B - I)
并将结果转换为灰度。
我发现效果更好的方法是使用傅立叶变换来做到这一点。
IE:
F^-1(F(I) - F(B))
例如
CvInvoke.cvDFT(video.Convert<Gray, Single>().Ptr, DFT.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_FORWARD, -1);
CvInvoke.cvDFT(Background.Convert<Gray, Single>().Ptr, DFTBack.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_FORWARD, -1);
CvInvoke.cvDFT((DFTBack - DFT).Convert<Gray, Single>().Ptr, originalLeft.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_INVERSE, -1);
CvInvoke.cvDFT((DFT - DFTBack).Ptr, originalRight.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_INVERSE, -1);
这在前景部分半透明时效果很好。
还有内置的前景检测器
于 2013-07-24T03:03:42.503 回答