matlab里面的sum和mean函数的用法?sum(x,3)是什么意思
在网上查到了sum和mean的用法,但是都只是讲了sum(x,2)和mean(A,2)的意思如果是一个四维的矩阵A,sum(A,3),mean(A,3)是什么意思呢,得到...
在网上查到了sum和mean的用法,但是都只是讲了sum(x,2)和mean(A,2)的意思
如果是一个四维的矩阵A,sum(A,3), mean(A,3)是什么意思呢,得到的最后的结果是一个矩阵还是一个值呢?
下面是我需要看懂的代码的前面一部分,麻烦帮我解释一下这两个语句,谢谢
function R = hdr_generation( I )
I = I/255;
[r,c,~,N] = size(I);
% 计算亮度通道
lumo = zeros(r,c,N);
for i=1:N
tlumo = 0.299*I(:,:,1,i)+0.587*I(:,:,2,i)+0.114*I(:,:,3,i);
lumo(:,:,i) = round(tlumo*255);
end
rgbRatio = round(mean(I,4)*255)./(repmat(mean(lumo,3),[1,1,3])+1e-9);
clear I;
%以下仅对亮度通道完成
%初始高动态范围图像,目的只是代替场景亮度对应的值
IhO = sum(lumo,3); 展开
如果是一个四维的矩阵A,sum(A,3), mean(A,3)是什么意思呢,得到的最后的结果是一个矩阵还是一个值呢?
下面是我需要看懂的代码的前面一部分,麻烦帮我解释一下这两个语句,谢谢
function R = hdr_generation( I )
I = I/255;
[r,c,~,N] = size(I);
% 计算亮度通道
lumo = zeros(r,c,N);
for i=1:N
tlumo = 0.299*I(:,:,1,i)+0.587*I(:,:,2,i)+0.114*I(:,:,3,i);
lumo(:,:,i) = round(tlumo*255);
end
rgbRatio = round(mean(I,4)*255)./(repmat(mean(lumo,3),[1,1,3])+1e-9);
clear I;
%以下仅对亮度通道完成
%初始高动态范围图像,目的只是代替场景亮度对应的值
IhO = sum(lumo,3); 展开
推荐于2017-11-29
展开全部
sum(x,3)表示沿x的第3维求和。
如果是一个四维的矩阵A,sum(A,3), mean(A,3)得到的最后的结果仍然是一个四维数组,但其第3维的长度为1.
如果是一个四维的矩阵A,sum(A,3), mean(A,3)得到的最后的结果仍然是一个四维数组,但其第3维的长度为1.
追问
好抽象啊,没太明白,最后的四维数组每一维分别代表什么呢
追答
我是针对你前面说的【一个四维的矩阵A,sum(A,3), mean(A,3)是什么意思】回答的。
就你贴出的代码而言,最后并没有四维数组。
lumo是三维数组,而sum(lumo,3)则会是矩阵。这是因为,该数组的第3维长度为1(称为singleton),而且是最后的一维,所以会被省略(Trailing singleton dimensions are ignored)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询