2017-05-13 11 views
2

私はMATLABを用いた画像処理上のいくつかの研究をやっていると私はそうのようrgb2grayrgb2hsvを使用して2つの異なる方法でグレースケール強度イメージを作成しました:HSVとグレースケールの強度の違いは何ですか?

read_image = imread(handles.myImage); 
bc_gambar2 = imresize(read_image,[280 540]); 
g = rgb2gray(bc_gambar2); % First intensity image 
g2 = rgb2hsv(bc_gambar2); 
g = g2(:,:,3);    % Second intensity image 

結果はrgb2grayを使用するよりもrgb2hsvとインデックスを使用して良さそうです。誰が違いが何で、なぜ起こっているのか教えていただけますか?

example manuscript image

答えて

1

(すなわち明るさ)チャンネル値を計算するためにrgb2hsvで使用される計算は、計算するためにrgb2grayによって使用されるものとは異なる。ここで

は、(必要であれば)私が使用しているサンプル画像ですグレースケール強度。それらはそれぞれ the second and fourth bullet points hereで記述されています。簡潔に言えば:

  • 値チャンネル(rgb2hsv)の計算である:

    g = max(bc_gambar2, [], 3); 
    
  • グレースケール強度(rgb2gray)の計算は次のとおり

    g = 0.299.*bc_gambar2(:, :, 1) + ... 
        0.587.*bc_gambar2(:, :, 2) + ... 
        0.114.*bc_gambar2(:, :, 3); 
    

詳細異なる色空間に関する情報は、here

+0

私は仲間ですが、イメージを使って説明することができますので、大きな違いについてもっと理解できます。 g = max(bc_gambar2、[]、3); &rgb2gray? あなたが私に与えるリンクからすれば、hsvが赤、緑、青、シアン、黄色、マグタ色を処理しているのに対し、rgb2grayは赤、緑、青の色を作る唯一のプロセスなので、結論できますか? – jethow

+0

@jethow: 'rgb2gray'は、すべての色情報を削除し、カラー画像の輝度に近いグレースケール輝度画像を作成しています。 'rgb2hsv'は単純に一つの[色空間](https://en.wikipedia.org/wiki/Color_space0モデルから別の色空間に変換する)です。色相を使う色を表現する方法です(標準的なHSVカラーマップへのインデックス)。彩度(存在する色の量)、および値(強度のスケーリング)を指定します。 – gnovice

+0

'rgb2hsvは単純に1つの[色空間]から変換しています(en.wikipedia.org/wiki/Color_space0モデルから別のものへ デフォルトは青ですか? または私のイメージソースメイトに依存していますか? – jethow

関連する問題