Matab 灰度图 生成 伪彩色 图像 gray convert to pseudo color

来源:互联网 发布:八月经济数据 编辑:程序博客网 时间:2024/05/09 18:41

Matab 灰度图 生成 伪彩色 图像  gray convert to pseudo color


原文出处: http://www.alecjacobson.com/weblog/?p=1655


In matlab you can view a grayscale image with:

imshow(im)

Which for my image im shows:
matlab imshow grayscale
And you can also view this grayscale image using pseudocolors from a given colormap with something like:

imshow(im,'Colormap',jet(255))

Which shows:
matlab imshow colormap jet 255
But it’s not obvious how to use the colormap to actually retrieve the RGB values we see in the plot. Here’s a simple way to convert a grayscale image to a red, green, blue color image using a given colormap:

rgb = ind2rgb(gray2ind(im,255),jet(255));

Replace the 255 with the number of colors in your grayscale image. If you don’t know the number of colors in your grayscale image you can easily find out with:

n = size(unique(reshape(im,size(im,1)*size(im,2),size(im,3))),1);

It’s a little overly complicated to handle if im is already a RGB image.

If you don’t mind if the rgb image comes out as a uint8 rather than double you can use the following which is an order of magnitude faster:

rgb = label2rgb(gray2ind(im,255),jet(255));

Then with your colormaped image stored in rgb you can do anything you normally would with a rgb color image, like view it:

imshow(rgb);

which shows the same as above:
matlab imshow colormap jet 255


I = imread('G:\H1.png');I = rgb2gray(I);rgb = label2rgb(gray2ind(I, 255), jet(255));imshow(rgb);




0 0
原创粉丝点击