在opencv中区分帧时过滤掉阴影

Wes*_*sey 2 opencv image-processing video-processing computer-vision

我正在使用OpenCV处理一些用户将手放在墙壁不同部分的视频.我选择了一些感兴趣的区域,我目前正在使用cv2.absdiff墙上的原始图像,没有用户和当前帧,通过查看平均像素差异来检测用户是否将手放在感兴趣的区域中.如果它高于某个阈值,我认为该区域"已激活".

我遇到的问题是某些视频剪辑包含照明和位置,导致用户在某些ROI上投下阴影,使得它们高于阈值.是否有一种很好的方法可以在分辨图像时滤除阴影?

Dia*_*ana 5

OpenCV有一个基于高斯混合背景减法器,它也有一个考虑阴影的选项.您可以使用此而不是absdiff.与absdiff相比,MOG可能有点慢.

或者,您可以转换为HSV,并检查Hue是否不会更改.