I like to arrange the pixels intensity based on the sequence in the matrix

1 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2017-3-22
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.

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2017-3-22
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))).'

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by