how to get image average

24 visualizaciones (últimos 30 días)
mohammadali
mohammadali el 5 de Mzo. de 2013
hello to all
i have an 4-D dimension Array that contain some RGB picture and i want to set an image that each pixel of it is average of other corresponding pixel in all picture.i wrote below code but doesn't work correctly.
if any one know the correct solution please help me
best regards
if true
clc;
obj=mmreader('street.avi');
Frames = obj.NumberOfFrames;
vidHeight = obj.Height;
vidWidth = obj.Width;
a=read(obj);
im = a(:,:,:,8);
sum = uint16(0);
imframe =(zeros(vidHeight,vidWidth,3));
imframe1=uint16(zeros(vidHeight,vidWidth,3,Frames));
imframe2=uint16(zeros(vidHeight,vidWidth,3));
for p = 1:250
imframe1(:,:,:,p)=(im2uint16(a(:,:,:,p))); %sum = sum + uint16(a(m,n,k,p));
end
for p = 1:250
imframe2=imadd(imframe1(:,:,:,p),imframe2);
end

Respuesta aceptada

Walter Roberson
Walter Roberson el 5 de Mzo. de 2013
Replace nearly all your code with
mean(a,4)
You might need
mean(double(a),4)

Más respuestas (1)

mohammadali
mohammadali el 5 de Mzo. de 2013
Editada: mohammadali el 5 de Mzo. de 2013
thank you for response if it possible explain it briefly good luck

Community Treasure Hunt

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

Start Hunting!

Translated by