【发布时间】:2013-01-24 19:14:28
【问题描述】:
我是 matlab 新手。谁能告诉我这个 sn-p 对图像的 3-D 数组求和有什么问题。它在第 3 行显示错误,我无法调试它。
x=imread('test.jpg');
imshow(x);
sumdiff=sum(sum(sum(testArr2, 3),2),1)
【问题讨论】:
我是 matlab 新手。谁能告诉我这个 sn-p 对图像的 3-D 数组求和有什么问题。它在第 3 行显示错误,我无法调试它。
x=imread('test.jpg');
imshow(x);
sumdiff=sum(sum(sum(testArr2, 3),2),1)
【问题讨论】:
唯一让我感到明显错误的事情是,您正在对名为 testArr2 的变量中的值求和,但将图像像素数据放在名为 x 的变量中。 testArr2 在哪里定义和填充数据?
【讨论】:
虽然马克可能已经回答了这个问题,但我想补充一点,对整个数组求和的最简单方法可能是使用冒号语法:
sum_all = sum(x(:))
还要注意imread 通常返回一个整数数组(uint8 用于标准 jpeg 图像)。使用这种类型的数组时,并非所有数学运算都允许 - 有时使用 im2double 是必要的。
【讨论】: