I was trying to average 20 schlieren images. For that i wrote this code. But i am getting a white image as output image after averaging. Please help me with this. Thank you

4 views (last 30 days)
numImages=20;
myFolder = 'D:\postprocessing\OR 3 NPR 3.5 flatplate _C001H001S0001';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.tif');
tiffFiles = dir(filePattern);
for k = 1:length(tiffFiles(1:20))
baseFileName = tiffFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName)
[m,n]=size(imageArray);
out=zeros(m,n);
for i = 1:m
for j = 1:n
out(i,j) = out(i,j) + imageArray(i,j);
j = j+1;
end
i = i+1;
end
k = k+1;
end
out1 = out/20;
imshow(out1)

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 24 Nov 2020
numImages=20;
myFolder = 'D:\postprocessing\OR 3 NPR 3.5 flatplate _C001H001S0001';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.tif');
tiffFiles = dir(filePattern);
result=0;
for k = 1:length(tiffFiles(1:20))
baseFileName = tiffFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName)
im_add=result+imageArray;
end
out1 =im_add/20;
imshow(out1,[])

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!