Multimodal histogram segmentation in image processing

조회 수: 1 (최근 30일)
Pooja
Pooja 2014년 2월 4일
댓글: Image Analyst 2014년 9월 25일
1)Select an initial estimate for T 2)Segment the image using T. This will produce two groups of pixels. G1 consisting of all pixels with gray level values >T and G2 consisting of pixels with values <=T. 3)Compute the average gray level values mean1 and mean2 for the pixels in regions G1 and G2. 4)Compute a new threshold value T=(1/2)(mean1 +mean2) 5)Repeat steps 2 through 4 until difference in T in successive iterations is smaller than a predefined parameter T0 Please give me a matlab code for this algorithm

채택된 답변

Image Analyst
Image Analyst 2014년 2월 4일
Do not use mean2 as the variable name - that is a function built in to the Image Processing Toolbox. What happens if you just take it one step at a time, like it's trying to walk you through?
% 1)Select an initial estimate for T
T = 128;
T0 = .5;
% 2)Segment the image using T. This will produce two
% groups of pixels. G1 consisting of all pixels with gray
% level values >T and G2 consisting of pixels with values <=T.
G1 = grayImage > T;
G2 = grayImage <= T;
% 3)Compute the average gray level values mean1 and
% mean2 for the pixels in regions G1 and G2.
meanGL1 = mean(grayImage(G1))
meanGL2 = mean(grayImage(G2))
% 4)Compute a new threshold value
Tnew=(1/2) * (meanGL1 +meanGL2)
if (Tnew - T) < T0
and so on. You just need to put that into a while loop and break when the condition of little change is met. I practically did the whole thing for you. You just have to add 4 lines of code.
  댓글 수: 1
Image Analyst
Image Analyst 2014년 4월 25일
You might or might not need to use a Gaussian filter. Can you post your image and tell me what you want to measure?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

osama
osama 2014년 4월 22일
hello interesting .. i a;lready working on it ,,,, but where is the using of histogram in ur code ?? i wiating response
greetings
  댓글 수: 6
Christina
Christina 2014년 9월 25일
does this algorithm works for multispectral images?
Image Analyst
Image Analyst 2014년 9월 25일
Yes. You could threshold each spectral image. You can combine the thresholded binary images if needed.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by