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

조회 수: 5 (최근 30일)
suzuka iwaki
suzuka iwaki 2024년 1월 11일
댓글: suzuka iwaki 2024년 1월 15일
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
Atsushi Ueno
Atsushi Ueno 2024년 1월 11일
>確認した方法としては、エクセルに出力し、出力したセルの数値の合計と、全てのセルの数値の平均×画像のピクセル数(720×480)の結果を比較したときに、一致しなかったことから、全てのピクセルについて表示されていないことが分かりました。
昨年12月の質問とほぼ同じですね。差分は下記文章の有無で、その有無に対し私の回答は大きく異なります。回答について質問者様の疑問点が解消したのかどうか、そうでなければどこがどのように違うのか、コメントをくださいますと幸いです。

댓글을 달려면 로그인하십시오.

답변 (1개)

Atsushi Ueno
Atsushi Ueno 2024년 1월 11일
>全てのピクセルについて表示されていませんでした
下記実行結果の様に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
suzuka iwaki
suzuka iwaki 2024년 1월 15일
回答ありがとうございます。ワークスペースのTをダブルクリックして、要素をダブルクリックしたところ、480×720個のピクセルについて表示出来ました。ありがとうございます。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!