How to achieve real-time human silhouette and movement detection?
    5 views (last 30 days)
  
       Show older comments
    
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
      
      
 on 12 May 2017
				You do not appear to be accounting for illumination differences. Possibly that would help.
Answers (3)
  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
      
      
 on 23 Jan 2016
				Can you make it easier to help you? Can you attach your separate images?
  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
 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!
  Dima Lisin
    
 on 25 Jan 2016
        You can use vision.ForegroundDetector in the Computer Vision System Toolbox.
See Also
Categories
				Find more on Computer Vision Toolbox in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
