Adaptive Multi-Level Threshold for image

14 views (last 30 days)
mustafa alnasser
mustafa alnasser on 28 Sep 2014
Commented: Image Analyst on 13 Dec 2017
Dear All;
I have an image with non-uniform illumination , i need to use adaptive threshold to compensate for that , then use multi level threshold to segment the image into Three regions, what is the best way to do that

Answers (3)

Image Analyst
Image Analyst on 28 Sep 2014
Try adapthisteq(). How you classify into 3 classes after that depends on how easy it is to find the thresholds. Write a script to flatten your image with adapthisteq() and then take the histogram and show it to us.
  5 Comments
Rizwan Chughtai
Rizwan Chughtai on 13 Dec 2017
@image analyst, my question is a little off topic but i need your help on this.
i have two images (as uploaded s1 & s2), one is having the boxes in x-axis direction and second is having the boxes in y-axis direction.
Question 1: how we can find that the boxes is in x-axis direction OR in y-axis direction?
Question 2:after finding the direction, extract/separate the boxes from that image?
(first see the imges 's1' & 's2')
Image Analyst
Image Analyst on 13 Dec 2017
Use regionprops() to get the bounding box and look at the width and height of it.

Sign in to comment.


Anand
Anand on 29 Sep 2014
Have you tried using multithresh after adapthisteq? multithresh does multi-level thresholding using Otsu's method.
thresh = multithresh(I,2);
segI = imquantize(I,thresh);
  1 Comment
mustafa alnasser
mustafa alnasser on 5 Oct 2014
thank you for the answer
Asi explainred, i need first to remove the non uniform illumination then use multi threshold , Non uniform illumanation function deose not works well for all cases that why I switch to adaptive thresholding but this one will give me binary image , my question how to combine both ?

Sign in to comment.


mustafa alnasser
mustafa alnasser on 29 Sep 2014
Thank you very much for help.
in fact, Adaptive threshold makes it worse .
You can check the link below for the video source to undersatnd the situation http://www.youtube.com/watch?v=IjHZ4aEaCaE
What i am looking for is to segment the image into three area( Liquid, Gas, and Mix region at the border) I would like to combine both adaptive thresholding and multithresholding

Community Treasure Hunt

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

Start Hunting!