在用BackgroundSubtractorKNN做运动检测的时候,能检测到阴影
_fgDetector = new BackgroundSubtractorKNN(500, 400, true);//True打开阴影检测
去阴影前:
去阴影后:
代码很简单:
在二值化的时候处理一下就好
_fgDetector.Apply(frame, forgroundMask);
// # 二值化阈值处理,前景掩码含有前景的白色值以及阴影的灰色值,在阈值化图像中,将非纯白色(244~255)的所有像素都设为0,而不是255
CvInvoke.Threshold(forgroundMask, forgroundMask,244, 255, ThresholdType.Binary);