I like to arrange the pixels intensity based on the sequence in the matrix
1 view (last 30 days)
Show older comments
Good evening.
I'd like to arrange the pixels intensity based on the sequence in the matrix EX:
Y = [ 5 4 4 2 ;
6 3 3 1 ;
2 4 2 2;
5 5 6 1]
The answer is supposed to be like :
YY = [5 5 5 4 ;
4 4 2 2 ;
2 2 6 6 ;
3 3 1 1]
Thanks
2 Comments
Image Analyst
on 22 Mar 2017
Looks like something that might involve histcounts() and repelem()? But I can't make out the rule either. If it was most frequen first, then it should start out with 2, not 5 since there are four 2's but only three 5's.
Accepted Answer
Guillaume
on 22 Mar 2017
This is probably the logic:
Y = [ 5 4 4 2 ;
6 3 3 1 ;
2 4 2 2;
5 5 6 1]
[values, ~, loc] = unique(Y.', 'stable');
YY = reshape(values(sort(loc)), fliplr(size(Y))).'
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating 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!