how to sort histogram generated count and corresponding gray value.. pls help
古いコメントを表示
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..

採用された回答
その他の回答 (2 件)
Image Analyst
2015 年 5 月 18 日
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 件のコメント
ARJUN K P
2015 年 5 月 18 日
Image Analyst
2015 年 5 月 18 日
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
2015 年 5 月 18 日
To sort in reverse order, simply use fliplr()
count = fliplr(count)
grayLevels = fliplr(grayLevels);
Image Analyst
2015 年 5 月 19 日
% Sort count in descending order.
[sortedCounts, sortIndexes] = sort(count, 'descend');
% Sort grayLevels the same way.
grayLevels = grayLevels(sortIndexes);
ARJUN K P
2015 年 5 月 19 日
0 投票
カテゴリ
ヘルプ センター および File Exchange で Images についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

