将图像分割成RGB通道,结果很奇怪

时间:2015-05-29 12:48:44

标签: image matlab colors

我使用MATLAB将一个图像分割成RGB通道并导出二进制RGB图像,以下是原始图像:

The original image

我通过以下代码将图像分割成RGB通道:

R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);

imwrite(R,'RedChannel.tif');
imwrite(G,'GreenChannel.tif');
imwrite(B,'BlueChannel.tif');

但是,结果如下: The result

正如你所看到的,在红色通道二进制图像中,我们甚至看不到红色成分中的任何颜色,它只显示蓝色;在蓝色通道中,我们在蓝色组件中看不到任何东西!

发生了什么事?

1 个答案:

答案 0 :(得分:3)

这并不奇怪。它可以正常工作。

这是一个简单的插图,可能很容易理解

  
      
  • 纯红色 - > R-1 G-0 B-0。
  •   
  • 纯绿色 - > R-0 G-1 B-0。
  •   
  • 纯蓝色 - > R-0 G-0 B-1。
  •   
  • 白色 - > R-1 G-1 B-1。
  •   
  • 黑色 - > R-0 G-0 B-0。
  •   
  • 格雷 - > R-x G-x B-x。 (x可以是0-1之间的任何值,但所有组件都相同)
  •   

因此,当您仅查看红色分量图像时,您看不到白色和红色之间的差异,因为它们都保持值1

同样,您可以找出蓝色组件图像中缺少蓝脚印的原因。