MATLAB: Help understanding the imbothat function.

bottom hat filteringimage processingImage Processing Toolboximbothatimtophat

I am using the function imbothat as part of a larger image processing algorithm and it works great for what I need (I found that it removes 'glow' very well), I just am unsure of exactly what it does and would like to know. According to documentation, the imtophat filter is a morphological opening subtracted from the original image. Top hat filtering also acts to even out illumination in an image.
Is the imbothat filter the subtraction of the morphological closing from the original image?
What are the intended uses for imbothat?

Best Answer

edit imbothat
will show you that your above imsubtract(imclose)) suspicision is indeed correct. As for understanding it, let's take Brett's blog post from a little time ago:
And let's say that hypothetically we were not able to segment the whole eye, and that the blood vessels appeared as part of the background in a binary image. Granted this would be very easy for this image, but just as a concept, if there wasn't the contrast and some internal features were showing up as not part of the object. So how do we find those blood vessels? Well we could do a bottom hat filtering which would morphologically close the image (dilate then erode (fill the blood vessels but not unfill them!)) and then subtract this from the original image.
hth
Related Question