how to get image average

24 views (last 30 days)
mohammadali
mohammadali on 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

Accepted Answer

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

More Answers (1)

mohammadali
mohammadali on 5 Mar 2013
Edited: mohammadali on 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!