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 !!

 Réponse acceptée

Guillaume
Guillaume le 1 Mai 2015
Modifié(e) : Guillaume le 1 Mai 2015

0 votes

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

Plus de réponses (1)

Thomas Koelen
Thomas Koelen le 1 Mai 2015

0 votes

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.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by