%# load a grayscale image
img = imread('coins.png');
%# display the image
figure
imshow(img,[]);
%# false-color
colormap('hot')
以上代码来自:
Infrared image processing in Matlab
但是我不明白figure
(有/有什么不同?)和colormap
(它如何影响已经显示的img?)工作?
答案 0 :(得分:1)
figure
不是必需的,imshow
只显示img
。如果尚未打开figure
,则imshow
会创建一个新的。{/ p>
colormap
为图像的强度着色。 hot
地图颜色值增加,黑色,红色,黄色和白热。另一种流行的色彩映射是jet
,它有许多有趣的颜色。
因此,您想要查看的矩阵具有可以具有任何值范围的强度。为了获得更好的可视化效果,强度会以一系列颜色或一组假色显示。通常,灰度图像将显示灰度阴影的图像,其中白色最大而黑色最小。假色是这个概念的延伸,中间有几种颜色(如jet
)和hot
中加热金属的效果。
假设您的矩阵的像素值范围为[cmin xmax]
。现在,将值标准化,使范围为[0,1]。此外,假设您有一个颜色贴图,这样一系列颜色被映射到0到1之间的某些值(例如0.5被映射到RGB(100,200,100)) - 然后通过找到最接近的强度来获得假颜色映射。映射并显示相应的颜色。
有关MATLAB documentation中色彩映射的更多信息。我在这里附上了一些图片:
alt text http://www.mathworks.com/access/helpdesk/help/techdoc/ref/graphics_c15.gif
alt text http://www.mathworks.com/access/helpdesk/help/techdoc/ref/bone_spine.gif