Filter löschen
Filter löschen

calculating average

2 Ansichten (letzte 30 Tage)
FIR
FIR am 5 Mär. 2012
I have 60 images in a folder ,i want to take average of those images and subtract the averaged image with other images please help
clc;
clear all
close all;
pathname ='F:\images
dirlist = dir( [pathname '*.jpg'] );
pickind='jpg';
for m2 = 1:length(dirlist)
R = imread([pathname, dirlist(m2).name]);
;
;
;
;
end
please tell how to process after reading that image

Akzeptierte Antwort

Andrew Newell
Andrew Newell am 5 Mär. 2012
Here is some code that might do the job. I am assuming that your image is truecolor, so the data have dimensions M x N x 3 for some M and N, and the colors are 24-bit, so the data type in R is uint8. If your images are different, you'll have to adjust the code:
n = length(dirlist);
R = imread([pathname, dirlist(1).name]);
RR = zeros([size(Rav) n]);
% Put the images into an M x N x 3 x 60 array
for m2 = 2:n
RR(:,:,:,m2) = imread([pathname, dirlist(m2).name]);
end
Rav = mean(RR,4); % average along the 4th dimension of the data
RR = bsxfun(@minus,RR,Rav); % subtract the average from each image
You can examine the kth image with
R = RR(:,:,:,k);
image(R)

Weitere Antworten (0)

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by