redistribution of pixels in intensity levels of a histogram

1 view (last 30 days)
I have to do the following -
1) find pixels belonging to intensity-level-0 to intensity-level-256 and store them in 256 arrays 2) redistribute pixels from one intensity level to another intensity level so that all the 256 levels have equal pixels.
This is the algorithm of a bigger problem I'm trying to solve and I'm stuck here as I don't know how to manipulate the cell array elements.
I'll be having 256 cells in the cell array and I've to compare and redistribute elements belonging to individual cell. Matlab experts please help.

Answers (1)

Image Analyst
Image Analyst on 22 Sep 2014
MATLAB does not have anything to do this directly. You can adapt my File Exchange app which can give you any shape you want for the histogram. http://www.mathworks.com/matlabcentral/fileexchange/28972-custom-shaped-histogram Maybe some day I'll simplify it to produce a flat histogram. Note that histogram equalization DOES NOT produce a flat histogram or a histogram with bins at every gray level, or even evenly spaced gray levels. Histogram equalization is usually worthless.
You can't use inverse transform sampling either (which uses the CDF) - that's what histogram equalization does and it does not give a flat histogram.

Community Treasure Hunt

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

Start Hunting!