急求matlab灰度级彩色变换法伪彩色处理代码、最好用彩虹码或热金属码编的程

如题所述

热金属码1
I=imread('C:\picture\红外2.jpg');
[m,n]=size(I);
I=im2double(I);
L=1;
for k=1:m
for s=1:n
if I(k,s)<L/4
r(k,s)=0;
g(k,s)=0;
b(k,s)=I(k,s)/(L/4);
else if I(k,s)<=3*L/8
r(k,s)=0;
g(k,s)=(I(k,s)-L/4)/(L/4);
b(k,s)=1;
else if I(k,s)<=L/2
r(k,s)=0;
g(k,s)=(I(k,s)-L/4)/(L/4);
b(k,s)=(L/2-I(k,s))/(L/8);
else if I(k,s)<=3*L/4
r(k,s)=0;
g(k,s)=1;
b(k,s)=0;
else
r(k,s)=(I(k,s)-3*L/4)/(L/4);
g(k,s)=1;
b(k,s)=0;
    end
    end
   
end
end
end
end
RGB(:,:,1)=r*255;
RGB(:,:,2)=g*255;
RGB(:,:,3)=b*255;

figure,imshow(I);
figure,imshow(RGB);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-23
imshow(I); colormap hot;
figure;
imshow(I); colormap jet;