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

 采纳的回答

Guillaume
Guillaume 2015-5-1
编辑:Guillaume 2015-5-1
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

更多回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by