画像の各ピクセルの輝度を数字の行列で表すときに、全てのピクセルについて表示されない
1 view (last 30 days)
Show older comments
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
on 11 Jan 2024
>確認した方法としては、エクセルに出力し、出力したセルの数値の合計と、全てのセルの数値の平均×画像のピクセル数(720×480)の結果を比較したときに、一致しなかったことから、全てのピクセルについて表示されていないことが分かりました。
昨年12月の質問とほぼ同じですね。差分は下記文章の有無で、その有無に対し私の回答は大きく異なります。回答について質問者様の疑問点が解消したのかどうか、そうでなければどこがどのように違うのか、コメントをくださいますと幸いです。
Answers (1)
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}
>480×720個のピクセル全ての輝度を数字の行列で表すには、どのようなコードを実行すればいいですか。
- mファイルに記述して実行すれば 「*** 列から *** 列」などと表示しながらすべての要素を表示します。
- ワークスペースの”T”をダブルクリック⇒更に要素をダブルクリックすれば、エディタウィンドウにスプレッドシートが開きます。GUI操作で、行列の任意箇所を表示することが可能です。
⇒
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!