各画像の画素値の求め方

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일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 イメージのセグメンテーションと解析에 대해 자세히 알아보기

제품

릴리스

R2023b

태그

질문:

2023년 11월 10일

답변:

2023년 11월 12일

Community Treasure Hunt

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

Start Hunting!