MATLAB: Having trouble with mean2 function inside for loop

script

here is my code
img=read_LUM_all;
Lmask=mean(img,3);
Lmask(Lmask<415)=0;
Lmask(Lmask~=0)=1;
Lmask=logical(Lmask);
for i=1:13
imgL(:,:,i)=read_LUM2;
L(i)=mean2(imgL(Lmask)); % this line is only taking the mean of imgL(:,:,1), not imgL(:,:,i)
end
avgL=L(1:13)'
it reads in 13 files into a 3D array of size (1040x1392x13). I then average all the files to create a mask so that I can use that mask as an ROI to get an average value of each individual file over the ORI created by the average mask. I eventually want a 13×1 array (avgL) that has the average value over the ROI of each image and right now I am getting a 13×1 array that gives me the average of only the first frame.

Best Answer

imgL = reshape(imgL, 13);
L(i)=mean2(imgL(Lmask, i));
Related Question