2014-02-18 87 views
6

在Matlab中,当我使用图像处理 - 在Matlab TIFF图像在灰度

imshow('trees.tif') 

它显示的RGB图像,但是当我使用这两个函数

​​

它显示的灰度图像,它仍然是完全相同的图像。

这仅与TIFF图像会发生,因为当我使用它的JPEG图像,像这样:

I=imread('flower.jpg') 
imshow(I) 

它会显示一个RGB图像,这是同样的事情imshow('flower.jpg')

任何人都可以请解释为什么在TIFF图像上使用imread/imshow以灰度显示它们?

+0

它看起来像'trees.tif'uses索引彩色地图,(尝试'>>的imageinfo( 'trees.tif')'并查看字段'ColorType'),所以'imread'显然只返回索引。我不知道如何从中取出色彩图,以便将其转换为RGB或Whathaveyou。 –

+0

你是对的,所以如果它是一个索引图像,我应该得到的颜色映射将其转换为RGB,现在我明白了,你有任何书为初学者推荐?谢谢 – user3089045

回答

9

装入彩色地图太:

imshow(I,cmap) 

将其转换为RGB:

Irgb = ind2rgb(I,cmap) 

这样就可以显示和操作它没有

[I,cmap] = imread('trees.tif'); 

与地图显示它色图:

imshow(Irgb) 
imagesc(Irgb) 
% etc. 

秀色可餐:

enter image description here ​​3210 enter image description here

+0

谢谢,它完美的工作! – user3089045