画像の各ピクセルの輝​度を数字の行列で表す​ときに、全てのピクセ​ルについて表示されな​い

5 views (last 30 days)
suzuka iwaki
suzuka iwaki on 11 Jan 2024
Commented: suzuka iwaki on 15 Jan 2024
jpegFiles = dir('*.jpg');
numfiles = size(jpegFiles,1); % フォルダ内のファイルの数
mydata = cell(1, numfiles);
for k = 1:numfiles
mydata{k} = imread(jpegFiles(k).name);
RGB = imread(jpegFiles(k).name);
T{k} = rgb2gray(RGB);
end
T{1}
上記のコードで実行しているのですが、480×720の画像で、全てのピクセルについて表示されていませんでした。480×720個のピクセル全ての輝度を数字の行列で表すには、どのようなコードを実行すればいいですか。
  1 Comment
Atsushi Ueno
Atsushi Ueno on 11 Jan 2024
>確認した方法としては、エクセルに出力し、出力したセルの数値の合計と、全てのセルの数値の平均×画像のピクセル数(720×480)の結果を比較したときに、一致しなかったことから、全てのピクセルについて表示されていないことが分かりました。
昨年12月の質問とほぼ同じですね。差分は下記文章の有無で、その有無に対し私の回答は大きく異なります。回答について質問者様の疑問点が解消したのかどうか、そうでなければどこがどのように違うのか、コメントをくださいますと幸いです。

Sign in to comment.

Answers (1)

Atsushi Ueno
Atsushi Ueno on 11 Jan 2024
>全てのピクセルについて表示されていませんでした
下記実行結果の様に10行×17列しか表示されないという事でしょうか?もしそうであれば、これはライブスクリプトの機能です。画面サイズに適した表示範囲になる様に自動調整される仕様です。
cd(fileparts(which('office_1.jpg')));
jpegFiles = dir('*.jpg');
numfiles = size(jpegFiles,1); % フォルダ内のファイルの数
mydata = cell(1, numfiles);
for k = 1:numfiles
mydata{k} = imread(jpegFiles(k).name);
RGB = imread(jpegFiles(k).name);
T{k} = rgb2gray(RGB);
end
T{1}
ans = 3600×2250
213 213 213 214 214 215 215 215 216 217 217 218 218 217 217 216 215 215 215 215 215 215 215 215 215 215 215 216 216 217 213 213 214 214 214 215 215 215 216 217 217 218 218 217 217 216 215 215 215 215 215 215 215 215 215 215 216 216 216 217 213 214 214 214 215 215 215 215 216 217 217 218 218 217 217 216 215 215 215 215 215 215 215 215 215 216 216 216 217 217 214 214 214 215 215 215 216 216 216 217 217 218 218 217 217 216 216 216 216 216 216 216 216 216 216 216 216 217 217 217 214 214 215 215 215 216 216 216 216 217 217 218 218 217 217 216 216 216 216 216 216 216 216 216 216 216 217 217 217 218 215 215 215 215 216 216 216 217 216 217 217 218 218 217 217 216 217 217 217 217 217 217 217 217 217 217 217 217 218 218 215 215 215 216 216 216 217 217 216 217 217 218 218 217 217 216 217 217 217 217 217 217 217 217 217 217 217 218 218 218 215 215 215 216 216 217 217 217 216 217 217 218 218 217 217 216 217 217 217 217 217 217 217 217 217 217 217 218 218 219 218 218 218 217 217 216 216 216 216 216 216 217 217 218 218 218 217 217 217 217 217 217 217 217 218 218 218 218 218 218 218 218 218 217 217 216 216 216 216 216 216 217 217 218 218 218 217 217 217 217 217 217 217 217 218 218 218 218 218 218
>480×720個のピクセル全ての輝度を数字の行列で表すには、どのようなコードを実行すればいいですか。
  • mファイルに記述して実行すれば 「*** 列から *** 列」などと表示しながらすべての要素を表示します。
  • ワークスペースの”T”をダブルクリック⇒更に要素をダブルクリックすれば、エディタウィンドウにスプレッドシートが開きます。GUI操作で、行列の任意箇所を表示することが可能です。
 ⇒ 
  1 Comment
suzuka iwaki
suzuka iwaki on 15 Jan 2024
回答ありがとうございます。ワークスペースのTをダブルクリックして、要素をダブルクリックしたところ、480×720個のピクセルについて表示出来ました。ありがとうございます。

Sign in to comment.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!