Background Removal From Images

3 views (last 30 days)
Brandon
Brandon on 25 Sep 2013
I'm working on a stereo camera setup and need to track a white ball as it moves around. Here is a picture of the setup:
As you can see there is a high contrast between the ball and background. Currently I am thresh holding the image and then getting the centroid of the ball to determine the location. I would like to have a more robust method where I would subtract the background. Any help would be greatly appreciated.

Accepted Answer

Image Analyst
Image Analyst on 25 Sep 2013
Edited: Image Analyst on 25 Sep 2013
correctedBallImage = abs(double(ballImage) - double(backgroundImage));
  4 Comments
Brandon
Brandon on 25 Sep 2013
Ok, so I just tried the above function and the ball completely disappears.
Any suggestions on lighting because the ball is close to as bright as other things in the scene. The lights above the scene are florescent, what type of lighting should I be using?
Image Analyst
Image Analyst on 25 Sep 2013
If the ball disappears then it must be the same intensity as the background so you won't see it. You must have the ball be either brighter or darker than the background it's over. In that case, you will see it in the difference image. You can use rgb or grayscale. But to display the corrected image you must use either cast to uint8 for rgb, or use [] and leave it as double for grayscale:
correctedBallImage = uint8(correctedBallImage); % Gray scale or RGB.
imshow(correctedBallImage, []); % Gray scale only.

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing and Computer Vision 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!