画像の各ピクセルの輝度を数字の行列で表すときに、全てのピクセルについて表示されない
4 views (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
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!