how to sort histogram generated count and corresponding gray value.. pls help
Show older comments
m=imread('ll.bmp');
[count,gray]=imhist(m);
the answer is:

i want to sort the count and corresponding gray value..
and delete the zero count values answer like this..

Accepted Answer
More Answers (2)
Image Analyst
on 18 May 2015
Don't use gray as a variable name - it's the name of a built in function that creates a colormap, and you just blew it away.
I don't know why you need to, but to get rid of array elements with zero counts
[count, grayLevels]=imhist(m);
rowsToDelete = count == 0;
count(rowsToDelete) = [];
grayLevels(rowsToDelete) = [];
5 Comments
ARJUN K P
on 18 May 2015
Image Analyst
on 18 May 2015
They are already both sorted in terms of increasing gray level. There is a sort() command to use if you want some different kind of sorting, but you should probably take the sort order and apply it to both so that both arrays are always sorted in the same order.
Image Analyst
on 18 May 2015
To sort in reverse order, simply use fliplr()
count = fliplr(count)
grayLevels = fliplr(grayLevels);
Image Analyst
on 19 May 2015
% Sort count in descending order.
[sortedCounts, sortIndexes] = sort(count, 'descend');
% Sort grayLevels the same way.
grayLevels = grayLevels(sortIndexes);
ARJUN K P
on 19 May 2015
0 votes
Categories
Find more on Images in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
