calculating average

2 visualizaciones (últimos 30 días)
FIR el 5 de Mzo. de 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
clear all
close all;
pathname ='F:\images
dirlist = dir( [pathname '*.jpg'] );
for m2 = 1:length(dirlist)
R = imread([pathname, dirlist(m2).name]);
please tell how to process after reading that image

Respuesta aceptada

Andrew Newell
Andrew Newell el 5 de Mzo. de 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]);
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);

Más respuestas (0)


Más información sobre Convert Image Type en Help Center y File Exchange.


Community Treasure Hunt

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

Start Hunting!

Translated by