How can I sort Images ?

11 Ansichten (letzte 30 Tage)
Edmond Geraud
Edmond Geraud am 1 Mai 2015
Bearbeitet: Guillaume am 1 Mai 2015
I have a vector
norma=[1.087,0.047,0,0.35]
And I have several frames from a video. Ex.
pill(:,:,:,48);
pill(:,:,:,49);
pill(:,:,:,50);
pill(:,:,:,51);
What I want is to "attach" each frame to each element from norma vector, and then sort the images, by sorting norma vector in ascending way.
How can I do this ?
Thanks in advance !!

Akzeptierte Antwort

Guillaume
Guillaume am 1 Mai 2015
Bearbeitet: Guillaume am 1 Mai 2015
Use the second return value of sort to reorder the 4th dimension of your pill array. In your particular example:
norma = [1.087,0.047,0,0.35];
[sortednorma, order] = sort(norma);
pill(:, :, :, 48:51) = pill(:, :, :, 47 + order);
%obviously, if norma is the same length as the 4th dimension of pill, it's simply:
%pill = pill(:, :, :, order);
edit: fixed a typo

Weitere Antworten (1)

Thomas Koelen
Thomas Koelen am 1 Mai 2015
norma=[1.087,0.047,0.35]
n=norma'
a=magic(3)
b=cat(2,a,n)
c=sortrows(b,4)
c(:,4)=[];
Should do the job! ofcourse magic will be your video here.

Community Treasure Hunt

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

Start Hunting!

Translated by