2016-05-23 7 views
-2

画像を指示する下記のリンクをご確認ください(tif)。それは4つのチャネルがあります。Matlab - tif画像を読み込んで表示する

http://amarfree.com/Kannada_1_001.tif

画像を読み取るには、私を助け、MATLABを使用して/ wの画像をbにそれを変換してください。

イメージチャネル情報を適切に提供します。

+0

['imread'](http://nl.mathworks.com/help/matlab/ref/imread.html)を参照してください。イメージを行列としてインポートすることができます。次に、任意の色を黒に変換する独自のスクリプトを作成できます。マトリックスがどのように構造化されているかについては、ヘルプ関数を参照してください。 – Karlo

+1

私はimreadをやったことがある、それは私にエラーが表示される、私は4つのチャンネルを持つ画像情報を理解していない。 –

答えて

2

画像の4番目のチャンネルはアルファチャンネルです。各ピクセルの透明度値が含まれます。この例では、4チャネルのすべての値は255と同一である:

sum(sum(I(:,:,4)~=255)) 

ans = 

0 

この特定の場合における一般的な解決策は、(それがすべての情報を追加しないので)、最後のチャンネルを無視し、そして使用することですrgb2gray機能:

I = imread('<image path>'); 
bw = rgb2gray(I(:,:,1:3)); 

しかし、あなたのケースであなたは(あなたは、MATLABの画像処理ツールボックスを持っていないからでしょう)rgb2gray機能を持っていません。この場合の一般的な解決策は、rgbイメージをbwイメージに変換する関数を実装することです。

は幸いなことに、この特定の例では、3つのチャンネルが完全に同一で:

isequal(I(:,:,1),I(:,:,2)) 

ans = 

1 

isequal(I(:,:,1),I(:,:,3)) 

ans = 

1 

したがって、あなたは簡単に書くことができます:それだけ、この特定のケースのためにを動作すること

bw = I(:,:,1); 

お知らせ

+0

あなたはどうやって見つけましたか?それはRGBA形式です。 –

+0

bw = rgb2gray(img(:、:、1:3)); imshow(bw) 'uint8'型の入力引数のための未定義関数 'rgb2gray'。 スケールエラー(3行目) bw = rgb2gray(img(:、:、1:3)); –

+1

OK、それに応じて私の回答を更新しました – drorco

関連する問題