how to get image average

24 vues (au cours des 30 derniers jours)
mohammadali
mohammadali le 5 Mar 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

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Mar 2013
Replace nearly all your code with
mean(a,4)
You might need
mean(double(a),4)

Plus de réponses (1)

mohammadali
mohammadali le 5 Mar 2013
Modifié(e) : mohammadali le 5 Mar 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