How to calculate the mean from different images at once? TBV1 and RVI1 cover each other and have the same size. in the following code I calculated thea mean of all the pixels of Tb where the condition applies.I have 3 more set of Tbv and RVI .

1 visualización (últimos 30 días)
I need to calculate mean of all pixel of TBs where condition (RVI>=0 and RVI<=0.2)applies.my images are Tbv2,Tbv3,Tbv4 and RVI2,RVI3,RVI4.Please note that I dont want to calculate mean of each image seperately.the mean should be calculated at once for all images.
Tbv1 = imread('tb.tif');
RVI1 =imread('rvi.tif')
ME = mean(Tbv1( RVI1>=0 & RVI1 <=0.2));

Respuesta aceptada

Guillaume
Guillaume el 23 de Oct. de 2014
Concatenate your images in cell arrays, and use cellfun to calculate the mean in one go:
Tbv = {Tbv1, Tbv2, Tbv3, Tbv4};
Rvi = {Rvi1, Rvi2, Rvi3, Rvi4};
me = cellfun(@(tbv, rvi) mean(tbv(rvi>=0 & rvi<=0.2)), Tbv, Rvi);
  4 comentarios
Image Analyst
Image Analyst el 31 de Oct. de 2014
Editada: Image Analyst el 31 de Oct. de 2014
If you no longer need the big cell arrays after that, you might clear them to free up memory:
clear('Tbv', 'Rvi');
Please officially accept the answer.
Hana
Hana el 13 de Nov. de 2014
me = cellfun(@(tbv, rvi) mean(tbv(rvi>=0 & rvi<=0.2)), Tbv, Rvi); gives me 4 mean value seperately from tha pair (Tbv1,Rvi1)....(Tbv4,Rvi4) I need a single mean value from all the pairs.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Spline Postprocessing 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