0以外の値を平均したいです

17 ビュー (過去 30 日間)
宗樹 岡本
宗樹 岡本 2023 年 12 月 5 日
コメント済み: 宗樹 岡本 2023 年 12 月 5 日
画像のRGB値からR値、G値、B値(それぞれ0以外の値)の平均値を算出したいです。ご教授よろしくお願いいたします。
下記のプログラムでは0も含んだ平均値となってしまいます
I = imread("");
R = double(I(:,:,1));
G = double(I(:,:,2));
B = double(I(:,:,3));
Rmean = mean2(R);
Gmean = mean2(G);
Bmean = mean2(B);

採用された回答

Kenjiro Sugimoto
Kenjiro Sugimoto 2023 年 12 月 5 日
こちらでいかがでしょうか。
R = [ 1, 0, 0; 0, 1, 0; 0, 0, 1 ];
Rmean = mean(R, "all")
Rmean = 0.3333
idx = (R ~= 0) % 非ゼロの箇所を取得
idx = 3×3 logical array
1 0 0 0 1 0 0 0 1
Rmean = mean(R(idx), "all")
Rmean = 1
  1 件のコメント
宗樹 岡本
宗樹 岡本 2023 年 12 月 5 日
ありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

タグ

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!