代码如下。我一次循环输入图像1个像素并确定其RGB值。之后,我试图找到整体图像的平均RGB值。出于某种原因,我的代码的平均部分不起作用。
im = imread(filename);
[width, height, depth] = size(im);
count = 0;
r=0;
g=0;
b=0;
for x = 1 : width
for y = 1: height
r = r + im(x,y,1);
g = g + im(x,y,2);
b = b + im(x,y,3);
count = count + 1;
end
end
%find averages of each RGB value.
r2 = r/count;
g2 = g/count;
b2 = b/count;
答案 0 :(得分:2)
为什么不进行矢量化和使用mean
?
mean( reshape( im, [], 3 ), 1 )
答案 1 :(得分:1)
以下代码也可以使用;
pep = imread('peppers.png');
mean(mean(pep))
这将返回一个1x1x3向量,它将分别是R,G和B的平均值。