Hi guys, I am doing some image processing, and what happens is I record a number of images,store them in a set and do some processing and then average for a number of sets recorded.However I have a problem where because the images are uint16 it saturates before imaging, I am just wondering if there is a way to average as I go along or any other way round this. Ive tried to change the type to a larger uint but that doesnt seem to work.
if true for n=1:10 stem='E:\29th April New\NEW Gain=99_No Delay_ Gate=0.02_0'; r=n-1; r=int2str(r); combinedStr=strcat(stem,r); Images=99; t=10; AvgImg = uint16(zeros(1024,1280)); for i=t:Images B=readimx(fullfile(combinedStr,['B000',int2str(i),'.im7'])); C=B.Frames{1}.Components{1}; V = C.Planes; Img = V{1,1}; J = imrotate(Img,-90); I2 =(flip(J,2)); FUNC=@(x)max(x(:)); I3=medfilt2(I2,[1 1]); AvgImg = AvgImg +I3; end AverageImg = AvgImg/(Images-t); AverageImgB=90; AverageImgLII=(AverageImg-AverageImgB); K=imagesc(flipud(AverageImgLII)); end
Best Answer