ファイルに入っている​tifファイルをまと​めてグレースケールと​して保存するやり方が​分かりません

下記のようにSeries1というファイルに入ったtifファイルをまとめて読み込んだのですが、これらをグレースケールにするやり方が分かりません。rgb2gray関数を使用したのですがエラーがでしまいます。
fileFolder = fullfile(pwd,'Series1'); % 画像の読込み (67枚の断面画像)
files = dir(fullfile(fileFolder,'*.tif'));
fileNames = {files.name};
info = imfinfo(fullfile(fileFolder,fileNames{1}));
numImages = length(fileNames);
tif = zeros(info. Width, info.Height, numImages, 'uint16');
for i=length(fileNames):-1:1
fname = fullfile(fileFolder,fileNames{i});
tif(:,:,i) = uint16(imread(fname));
end
imtool close all;
D = reshape(uint16(tif), [size(tif,1), size(tif,2), 1, size(tif,3)]);
figure; montage(D,'DisplayRange',[]); % D は、128x128x1x15 の配列(x1は、グレースケールの為)

4 件のコメント

michio
michio 2017 年 1 月 15 日
編集済み: michio 2017 年 1 月 15 日
thuru
thuru 2017 年 1 月 17 日
失礼しました。 R2016a Windows10 上のプログラム内のtifが256×256の行列だったのでそこに使おうと考えたのですが、下記のようなエラーが出ます。 エラー: rgb2gray>parse_inputs (line 73) RGB は m x n x 3 の配列でなければなりません。
エラー: rgb2gray (line 52) [X, threeD] = parse_inputs(X);
Tohru Kikawada
Tohru Kikawada 2017 年 1 月 18 日
一番はじめのコードに rgb2gray が見当たりませんが、 rgb2gray によるグレイスケール変換も含めたすべてのコードを提示いただくことは可能でしょうか。
thuru
thuru 2017 年 1 月 18 日
上記のプログラムの、for文の上のtifを grayscale = rgb2gray(tif); としたところ上記のエラーが出ました。

サインインしてコメントする。

 採用された回答

Tohru Kikawada
Tohru Kikawada 2017 年 1 月 20 日

1 投票

ちょっと状況が飲み込めていませんが、読み込む際にグレイスケールに変換したいのであれば下記の方法で実現できると思います。
ご参考になれば幸いです。
fileFolder = fullfile(pwd,'Series1'); % 画像の読込み (67枚の断面画像)
files = dir(fullfile(fileFolder,'*.tif'));
fileNames = {files.name};
info = imfinfo(fullfile(fileFolder,fileNames{1}));
numImages = length(fileNames);
tif = zeros(info.Width, info.Height, numImages, 'uint16');
for i=length(fileNames):-1:1
fname = fullfile(fileFolder,fileNames{i});
tif(:,:,i) = rgb2gray(uint16(imread(fname)));
end
imtool close all;
D = reshape(uint16(tif), [size(tif,1), size(tif,2), 1, size(tif,3)]);
figure; montage(D,'DisplayRange',[]); % D は、128x128x1x15 の配列(x1は、グレースケールの為)

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeImage Data Workflows についてさらに検索

質問済み:

2017 年 1 月 15 日

回答済み:

2017 年 1 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by