如何在Matlab中显示图像的红色通道?

sna*_*ile 16 graphics rgb matlab image

我有一个im代表RGB图像的3D矩阵.我可以

imshow(im)
Run Code Online (Sandbox Code Playgroud)

显示图像.

我想一次只显示一个RGB通道:我想显示红色通道,我希望它显示为红色.

我试过了

imshow(im(:,:,1))
Run Code Online (Sandbox Code Playgroud)

但它显示灰度图像(这不是我想要的).

如何显示红色通道并使其显示为红色?

ypn*_*nos 19

我有三个建议给你.

1. 使用此imagesc功能并选择红色调色板.

2. 清除其他颜色通道:im(:,:,2:3) = 0; imshow(im);

3.使用ind2rgb带有相应构建的颜色映射的函数.


小智 5

尝试这个:

% display one channel only
clear all;

im=imread('images/DSC1228L_512.jpg');
im_red = im;
im_green = im;
im_blue = im;

% Red channel only
im_red(:,:,2) = 0; 
im_red(:,:,3) = 0; 
figure, imshow(im_red);

% Green channel only
im_green(:,:,1) = 0; 
im_green(:,:,3) = 0; 
figure, imshow(im_green);

% Blue channel only
im_blue(:,:,1) = 0; 
im_blue(:,:,2) = 0; 
figure, imshow(im_blue);
Run Code Online (Sandbox Code Playgroud)