Image processing: finding transfer function of histogram equalization
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
John Snow
el 18 de Nov. de 2013
Comentada: Image Analyst
el 3 de Mayo de 2015
Hello, lets say I have an image then I adjusted the contrast by using histogram equalization (histeq) Is there a way to plot or get an image of the transfer function that this command uses ?
0 comentarios
Respuesta aceptada
Image Analyst
el 18 de Nov. de 2013
Just take the histogram of the original image, then call cumsum on the pixel counts and plot it.
[pixelCounts, grayLevels] = imhist(grayImage);
cdf = cumsum(pixelCounts); % Make transfer function (look up table).
cdf = cdf / sum(cdf); % Normalize
plot(grayLevels, cdf, 'b-');
3 comentarios
Royi Avital
el 3 de Mayo de 2015
This will work for Equalization. What if I want any other CDF function?
Image Analyst
el 3 de Mayo de 2015
Huh? That has nothing to do with equalization, though equalization can use the cdf just like a lot of other functions do. This is just general purpose code that will compute the cdf regardless of your histogram. What do you mean by "other CDF"? What other CDF functions might there be?
Más respuestas (1)
Anand
el 18 de Nov. de 2013
Or use the two argument syntax for histeq.
[histIm,T] = histeq(grayImage);
plot(T,'b-')
2 comentarios
Image Analyst
el 18 de Nov. de 2013
I didn't know it had that output - I guess I should have looked. Of course like I warn people histogram equalization gives a nonlinear stretch which usually looks pretty crummy and unnatural. imadjust() almost always gives a better looking image.
Ver también
Categorías
Más información sobre Histograms en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!