MATLAB: How convert an m x n x p image sequence to an m x n x 3 x p sequence efficiently

grayscaleimage sequencesrgb

Hi, I would like to convert my grayscale image sequence to an rgb sequence, and I'm wondering if it possible to do it without a loop?

Best Answer

A - array with size [m x n x p].
out = reshape(repmat(reshape(A,[],p),3,1),[m n 3 p]);