'rolling-ball background substraction' in matlab

42 views (last 30 days)
Peyman Obeidy
Peyman Obeidy on 10 Oct 2017
Edited: raym on 22 Jul 2022
Is there a reliable 'rolling-ball background subtraction' scripts for matlab?

Answers (1)

Image Analyst
Image Analyst on 10 Oct 2017
Not exactly sure what that is, but morphological closing has been described as like a rolling ball. So to subtract that from the original image, the operation is called a bottom hat filter and is performed by the function imbothat() in the Image Processing Toolbox.
  3 Comments
Peyman Obeidy
Peyman Obeidy on 10 Oct 2017
Thank you Image Analyst.
After trying different background subtraction methods, I highly recommend this function. Very nice job. http://au.mathworks.com/matlabcentral/fileexchange/40266-sauvola-local-image-thresholding#feedbacks
Sauvola method. Happy to send the rest of code, let me know if you are interested.
raym
raym on 22 Jul 2022
Edited: raym on 22 Jul 2022
Rolling ball background was mentioned briefly in imerode:
It use erode to get a background of the raw image(better pre-process using gauss smooth to minimize the effect of very low pixels). The things matters is the shape of structure element and the offset. ImageJ's Rolling ball use a non-flat ball-shaped structure element. The optional paraboloid shape may correspond to the distorted ball-shaped structure element that has inharmonious height anf radius. An extreme end is very smoothed ball that is almost a flat pad, then it become the flat strel with no offset. The role of offset is to tell us that the a more distal-localized pixel should have less impact on the background value calculation, thus to minimize this effect, a additional offset is force added to this pixel just in case it has a very low value. [In matlab case, the origin is add the highest while the margin pixel add the lowest, thus all pixel are elevated.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!