各画像の画素値の求め方

49 次查看(过去 30 天)
suzuka iwaki
suzuka iwaki 2023-11-10
回答: Atsushi Ueno 2023-11-12
jpegFiles = dir('*.jpg');
numfiles = 1528;
mydata = cell(1, numfiles);
T = table((1:numfiles)', zeros(numfiles,1), 'VariableNames', {'Serial_No.', 'meanLuminance'})
for k = 1:numfiles
mydata{k} = imread(jpegFiles(k).name);
RGB = imread(jpegFiles(k).name);
graying = rgb2gray(RGB);
meanLuminance = mean(graying,"all")
T{k,2} = meanLuminance
end
上のようなコードで、1528枚の各グレースケール画像の輝度値を求めたのですが、各画像の輝度値ではなく画素値を求める場合、どのようなコードを書けば良いのでしょうか。よろしくお願いします。

回答(1 个)

Atsushi Ueno
Atsushi Ueno 2023-11-12
  • モノクロ画像の場合「画素値=輝度値」
  • カラー画像の場合「画素値はRGBの三要素ある」
上記コードでは rgb2gray 関数で各画素の輝度値を求め、画像1枚につき1つの値(輝度値の平均)を計算しています。これに倣い画素値の平均を求めると下記の様になります。画像を imread 関数で読み込んだ時点で画素値データが得られるので、あとは平均値を求めるだけです。ファイルの走査や結果の格納は上記コードと同じなので割愛します。
RGB = imread(jpegFiles(k).name); % これがRGBの画素値
meanPixelValue = mean(RGB,[1 2]) % RGB各ページにおける画素値の平均を求める

类别

Help CenterFile Exchange 中查找有关 イメージ 的更多信息

标签

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!