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

1 view (last 30 days)
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 Comment
Walter Roberson
Walter Roberson on 12 May 2017
You do not appear to be accounting for illumination differences. Possibly that would help.

Sign in to comment.

Answers (3)

Image Analyst
Image Analyst on 23 Jan 2016
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 Comments
Image Analyst
Image Analyst on 23 Jan 2016
Can you make it easier to help you? Can you attach your separate images?

Sign in to comment.


Image Analyst
Image Analyst on 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 Comments
shine day
shine day on 12 May 2017
hi! Image Analyst. could you give me your email? I would like to ask you about image background subtraction. Best regards!

Sign in to comment.


Dima Lisin
Dima Lisin on 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!