how to sort histogram generated count and corresponding gray value.. pls help
6 views (last 30 days)
Show older comments
m=imread('ll.bmp');
[count,gray]=imhist(m);
the answer is:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/150253/image.png)
i want to sort the count and corresponding gray value..
and delete the zero count values answer like this..
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/150255/image.png)
0 Comments
Accepted Answer
ARJUN K P
on 20 May 2015
Edited: ARJUN K P
on 20 May 2015
1 Comment
Image Analyst
on 20 May 2015
It does the same thing that I did but combined the counts and gray level arrays into a single 2D array (which we didn't know you wanted to do).
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
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);
See Also
Categories
Find more on Shifting and Sorting Matrices 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!