Why does the foreground image from background subtraction look transparent?
Hello!
I've been working on background subtraction techniques to detect and track humans in a scene. Because I don't want the background to change, and just subtract the frames from the first reference frame, so I've tried both the OpenCV MOG2(with learning parameter set to zero) and using the first frame and using the absdiff() to find the difference. But the foreground images I get from both techniques looks transparent as in, part of the background can be seen through the person as shown below:
Results with the absdiff() technique:
-Original Image:
-Foreground Image:
Results with the MOG2:
-Original Image:
-Foreground Image:
And this is the background(reference) image for both the methods:
Does anyone know why this happens? I need to detect and track the people for which I find the blobs and because of the transparency the blobs are pretty much detected as two blobs which messes up everything else.
Thanks in advance!
try without the black sweater ;)
(it can't see any difference between black chairs and black sweater)
Ah! Can't believe I hadn't thought of that! I feel silly now! Thanks anyways!
ofc, that's not the cure, just meant for a better understanding the situation.
actually, i'd think yours is quite a typical, real life case.
I know but this acts as another argument, a strong one, against not using background subtraction for human detection.
That is, of course, if there is no solution to overcome this problem right?