what are the preprocessing steps to get a binary Image using OTSU?
1 view (last 30 days)
Show older comments
Hi All
I am able to get a binary image for the attached example by defining threshold manually (trial and error). However, When I use Otsu thresholding, the result is not satisfactory. What pre-prosessing would be useful before I apply OTSU for the attached Image? I also present the result when I use OTSU AS below.
Any other methods to get a binary Image are welcome.
Thanks
0 Comments
Accepted Answer
Image Analyst
on 25 Nov 2018
Try a top hat filter. See attached.
11 Comments
Image Analyst
on 27 Nov 2018
It looks like you're trying to find the black stuff whereas I was trying to find the bright stuff inside the black stuff, so I got rid of the last part of the loop and looped over structuring element radii to see which one give the best values. Did you try that? I did and am attaching the code and the image it makes. Pick whatever radius looks best to you. Or you could try to change the shape of the structuring element from a disk to a cross or something to see if that does better.
More Answers (1)
Image Analyst
on 23 Nov 2018
Edited: Image Analyst
on 23 Nov 2018
Try this:
binaryImage = imbinarize(grayScaleImage);
Or you can try my triangle thresholding method, attached.
You should also do a background correction on the image before using a global threshold. See attached demo.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!