各画像の画素値の求め方

50 views (last 30 days)
suzuka iwaki
suzuka iwaki on 10 Nov 2023
Answered: Atsushi Ueno on 12 Nov 2023
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枚の各グレースケール画像の輝度値を求めたのですが、各画像の輝度値ではなく画素値を求める場合、どのようなコードを書けば良いのでしょうか。よろしくお願いします。

Answers (1)

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

Categories

Find more on イメージ in Help Center and File Exchange

Tags

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!