未定义的函数'avg'用于'double'类型的输入参数

时间:2013-02-18 01:48:33

标签: arrays image matlab cell

输入此代码时,我一直收到此错误消息。我试图最终使用嵌套for循环将彩色图像转换为灰度。下面是“双重”类型的输入参数的错误消息“Undefined function'avg'”

x = imread('RickMoranis.jpg');
r = size(x, 1);
c = size(x, 2);

 for row = 1:r 
    for col = 1:c 
       y= mean(avg(row,col,:));
    end
end
end

2 个答案:

答案 0 :(得分:4)

没有内置函数avg

最有可能的是,你想写

y= mean(x(row,col,:));

请注意,您也可以编写

而不是双循环
y = mean(x,3);

最后,如果您有图像处理工具箱,您可以查看rgb2gray以将RGB转换为灰度。

答案 1 :(得分:0)

如果您希望平均值计算平均值,请使用均值。看来你的代码中已经有了命令均值。 matlab中没有内置函数avg。