Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

RGB イメージの分離されたカラー チャネルの表示

この例ではシンプルな RGB イメージを作成し、カラー チャネルを分離します。各カラー チャネルは、グレースケール強度イメージおよびカラー イメージとして表示されます。

赤、緑、および青の連続領域を含む RGB イメージを作成します。イメージを表示します。

imSize = 200;
RGB = reshape(ones(imSize,1)*reshape(jet(imSize),1,imSize*3),[imSize,imSize,3]);
imshow(RGB)
title('Original RGB Image')

Figure contains an axes object. The axes object with title Original RGB Image contains an object of type image.

3 つのカラー チャネルを分離します。

[R,G,B] = imsplit(RGB);

各カラー チャネルのグレースケール表現を表示します。図の中の個々の色平面には白の領域が含まれていることに注目してください。白は、個々の各色の最高値 (最も純粋な階調) に対応しています。たとえば赤のチャネル イメージでは、白は純粋な赤の値の最高濃度を表します。赤が緑または青と混合されるにつれ、グレーのピクセルが表示されます。イメージの黒の領域は、赤の値を含まないピクセル値、つまり R == 0 の場合を示しています。

figure
subplot(1,3,1)
imshow(R)
title('Red Channel')

subplot(1,3,2)
imshow(G)
title('Green Channel')

subplot(1,3,3)
imshow(B)
title('Blue Channel')

Figure contains 3 axes objects. Axes object 1 with title Red Channel contains an object of type image. Axes object 2 with title Green Channel contains an object of type image. Axes object 3 with title Blue Channel contains an object of type image.

各カラー チャネルのカラー表現を表示します。これらのイメージでは、目的のカラー チャネルは元の強度値を保持しますが、他の 2 つのカラー チャネルのピクセル値は 0 に設定されます。

完全に黒のチャネルを作成します。

allBlack = zeros(size(RGB,1,2),class(RGB));
justR = cat(3,R,allBlack,allBlack);
justG = cat(3,allBlack,G,allBlack);
justB = cat(3,allBlack,allBlack,B);

モンタージュにすべてのチャネルを表示します。

figure
montage({justR,justG,justB},'Size',[1 3], ...
    "BackgroundColor",'w',"BorderSize",10);
title('Color Representation of the Red, Green, and Blue Color Channels');

Figure contains an axes object. The axes object with title Color Representation of the Red, Green, and Blue Color Channels contains an object of type image.

参考

関連するトピック