目标是伪彩色显示病灶区域。。
希望效果是这样的。。看起来很特别。。吧。。
Matlab shows both grayscale and RGB
image overlay
参考link:
(1)matlab-show-colorbar-of-a-grayscale-image-in-a-figure-containing-a-rgb-image
http://stackoverflow.com/questions/16403014/matlab-show-colorbar-of-a-grayscale-image-in-a-figure-containing-a-rgb-image
(2)image-overlay-using-transparency
http://blogs.mathworks.com/steve/2009/02/18/image-overlay-using-transparency/
在这里存档一下grayscale to rgb部分的代码。。
function res = grs2rgb(img, map) %%Convert grayscale images to RGB using specified colormap. % IMG is the grayscale image. Must be specified as a name of the image % including the directory, or the matrix. % MAP is the M-by-3 matrix of colors. % % RES = GRS2RGB(IMG) produces the RGB image RES from the grayscale image IMG % using the colormap HOT with 64 colors. % % RES = GRS2RGB(IMG,MAP) produces the RGB image RES from the grayscale image % IMG using the colormap matrix MAP. MAP must contain 3 columns for Red, % Green, and Blue components. % % Example 1: % open 'image.tif'; % res = grs2rgb(image); % % Example 2: % cmap = colormap(summer); % res = grs2rgb('image.tif',cmap); % % See also COLORMAP, HOT % % Written by % Valeriy R. Korostyshevskiy, PhD % Georgetown University Medical Center % Washington, D.C. % December 2006 % % vrk@georgetown.edu % Check the arguments if nargin<1 error('grs2rgb:missingImage','Specify the name or the matrix of the image'); end; if ~exist('map','var') || isempty(map) map = hot(64); end; [l,w] = size(map); if w~=3 error('grs2rgb:wrongColormap','Colormap matrix must contain 3 columns'); end; if ischar(img) a = imread(img); elseif isnumeric(img) a = img; else error('grs2rgb:wrongImageFormat','Image format: must be name or matrix'); end; % Calculate the indices of the colormap matrix a = double(a); a(a==0) = 1; % Needed to produce nonzero index of the colormap matrix ci = ceil(l*a/max(a(:))); % Colors in the new image [il,iw] = size(a); r = zeros(il,iw); g = zeros(il,iw); b = zeros(il,iw); r(:) = map(ci,1); g(:) = map(ci,2); b(:) = map(ci,3); % New image res = zeros(il,iw,3); res(:,:,1) = r; res(:,:,2) = g; res(:,:,3) = b;
版本1结果图。。。被嫌弃说。。颜色很奇怪。。于是调整了。。结果如图二。。。