MATLAB: How to convert one large vector into an array of matrix

digital image processingimageimage acquisitionImage Acquisition Toolboximage analysisimage processingImage Processing Toolboximage segmentationMATLAB

I have a result column vector `yfit` containing result for multiple images one after another, for example, for images of size 512×512 the `yfit` would contain 1 to 262144 for first image, which further can be reshape() to get 512×512 result matrix. Further, 262145 to 524289 for second image's result matrix, and so on.
How to convert `yfit` in an array of matrix? Where each matrix would be a result of an image. Such as,
x[1] => matrix of first image (512x512)
x[2] => matrix of second image (512x512)
I am not sure, but it would be like
x[1] = reshape(yfit(1:262144), 512,512);
x[1] = reshape(yfit(262144:524289), 512,512);
What I want is `X` having result of all images. Thanks!!

Best Answer

Nitinkumar,
yfit = 1:5*5*10; % just as an exmple: 10 5x5 images
x = reshape(yfit,[5,5,10]);
You basically convert into a 3D array. The first image is accessed through
x(:,:,1)