各画像の画素値の求め方

조회 수: 54 (최근 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!