How to Remove Minor background details from the image

2 views (last 30 days)
For the object extraction i need to enhance the image contrast, which not only enhance foreground object but also the minor background details of gray image.
How to remove the background as i need the background clear in order to detect the edges of salient object?

Accepted Answer

Image Analyst
Image Analyst on 12 Sep 2013
It's hard to say without seeing the image. Perhaps thresholding? Perhaps something else first? But after all the processing steps are done, the last step in segmentation is always thresholding. You do whatever you need to do to get to a point where you can say "this is foreground" and "this is background" and that is thresholding.
  2 Comments
Tallha Akram
Tallha Akram on 12 Sep 2013
i think thresholding will not work. In case of thresholding for the image, object will lose its contents. I can send you on your email address if possible for you.
thanks.
Image Analyst
Image Analyst on 12 Sep 2013
Edited: Image Analyst on 12 Sep 2013
You misunderstand. It will work. I've been making a living off thresholding for 35 years. You always do processing until you get to a point where you define the areas you want to measure by thresholding. That's what segmentation is - it's where you say "I want this and I don't want that." For example, if your background is less than 100 gray levels, then you can get foreground and background images by thresholding and masking
% Threshold.
binaryImage = grayImage < 100; % binary image is background.
% Multiply to zero out foreground and get background gray image.
backgroundImage = grayImage .* uint8(~binaryImage);
% Multiply to zero out background and get foreground gray image.
foregroundImage = grayImage .* uint8(binaryImage);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!