How to achieve real-time human silhouette and movement detection?

I started with background subtraction between a static background and another image with a foreground object(hand) that were captured from webcam. I couldn't get good results. I have attached the code i used and images below.

1 commentaire

You do not appear to be accounting for illumination differences. Possibly that would help.

Connectez-vous pour commenter.

Réponses (3)

You can avoid the loop by saying
binaryImage = Out > 3; % Or some number that works.
Then use bwareaopen() or bwareafilt() to get rid of small blobs.

3 commentaires

i cant get u. Can u please tell me where to modify the code?. I'm new to this stuff
Can you make it easier to help you? Can you attach your separate images?
Avinash S
Avinash S le 24 Jan 2016
Modifié(e) : Image Analyst le 24 Jan 2016
Pic: Background
Pic: Current frame

Connectez-vous pour commenter.

Image Analyst
Image Analyst le 24 Jan 2016
See my attached code.
If you want a smoother background, like to not have the movement of the drapes shadow be connected to the arm, you can use activecontour(). I've also attached a demo for that so you should be off to a good start.
Note: This may not be the best approach - the foreground detector in the Computer Vision System Toolbox may work better.

3 commentaires

Avinash S
Avinash S le 25 Jan 2016
Modifié(e) : Avinash S le 25 Jan 2016
thank u so much for your great effort. But I couldnt get best results using real time input stream from webcam. Now I came across this paper based on fuzzy logic which looks very good in extracting silhouette: _ Interval Type-2 Fuzzy Logic System for Human Silhouette Extraction in Dynamic Environments_ https://www.kau.edu.sa/Files/611/Researches/63095_34134.pdf
Is there an implementation for this? or can u help me implement this
Sorry, I can't. Besides, I don't even have the Fuzzy Logic Toolbox.
hi! Image Analyst. could you give me your email? I would like to ask you about image background subtraction. Best regards!

Connectez-vous pour commenter.

Dima Lisin
Dima Lisin le 25 Jan 2016
You can use vision.ForegroundDetector in the Computer Vision System Toolbox.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by