0

このコードを入力すると、このエラーが発生し続けます。ネストされた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
4

2 に答える 2

4

組み込み関数はありませんavg

おそらく、あなたは書きたかった

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

二重ループの代わりに、次のように書くこともできます。

y = mean(x,3);

最後に、Image Processing Toolbox をお持ちの場合は、rgb2grayRGB からグレースケールへの変換を確認してください。

于 2013-02-18T01:53:28.030 に答える
0

avg が平均を計算することを期待している場合は、mean を使用してください。あなたのコードにはすでにコマンド mean があるようです。matlab には組み込み関数 avg はありません。

于 2013-02-18T01:56:09.303 に答える