【问题标题】:Undefined function 'avg' for input arguments of type 'double'“double”类型的输入参数的未定义函数“avg”
【发布时间】:2013-02-18 01:48:32
【问题描述】:

输入此代码时,我不断收到此错误。我试图最终使用嵌套的 for 循环将彩色图像转换为灰度。这是错误消息“'double'类型的输入参数的未定义函数'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

【问题讨论】:

  • 我不认为avg是一个matlab函数,你是说mean吗? (错误是说不知道avg这个函数是什么)

标签: arrays image matlab cell


【解决方案1】:

没有内置函数avg

很可能,你想写

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

注意,除了双循环,你也可以写

y = mean(x,3);

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

【讨论】:

  • +1 用于教授一些基本的矢量化以及回答问题。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多