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 visualizzazioni (ultimi 30 giorni)
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)

Risposte (1)

KALYAN ACHARJYA
KALYAN ACHARJYA il 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,[])

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by