画像データの各ピクセルの輝度を数字の行列で表す
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
suzuka iwaki
am 1 Dez. 2023
Beantwortet: suzuka iwaki
am 4 Dez. 2023
jpegFiles = dir('*.jpg');
numfiles = ; %フォルダ内のファイルの数
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
上のコードで1枚の画像ごとの平均輝度を計算しているのですが、2枚の画像の各ピクセルの輝度を比較したいので、各ピクセルの輝度を数字で見れるようなコードを教えていただきたいです。よろしくお願いします。
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Atsushi Ueno
am 2 Dez. 2023
輝度の平均値を求める前の行列が目的の値なので、既にあるデータgrayingを取り出すだけで済みます。
cd /MATLAB/toolbox/images/imdata/ % このプログラムが動く様、サンプルjpgファイルがあるフォルダに移動
jpegFiles = dir('*.jpg');
numfiles = size(jpegFiles,1); % フォルダ内のファイルの数
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);
T{k} = rgb2gray(RGB);%グレースケール化 % ← ここを直接Tに格納する様に変更
% meanLuminance = mean(graying,"all")%平均輝度値を求める ← ここを削除
% T{k,2} = meanLuminance % ← ここを削除
end
T{1} % 1枚目に読み込んだ画像(サイズ:3600x2250)の輝度
0 Kommentare
Siehe auch
Kategorien
Mehr zu Read, Write, and Modify Image finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!