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

1 vue (au cours des 30 derniers jours)
fathi
fathi le 22 Mar 2017
Commenté : fathi le 6 Avr 2017
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 commentaires
Walter Roberson
Walter Roberson le 22 Mar 2017
What is the rule about the order to be used?
Image Analyst
Image Analyst le 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.

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 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))).'

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by