伪彩色处理
伪彩色增强:把一幅黑白域图像的不同灰度级映射为一幅彩色图像的技术手段。
伪彩色增强有很多种方法,而下面的增强方法则是使用的空间域灰度级-彩色变换法。
空间域灰度级-彩色变换法:可以将灰度图像变为具有多种颜色渐变的连续彩色图像,变换后的图像视觉效果较好,主要色相是将灰度图像f(x,y)送入具有不同变换性质的红、绿、蓝3个变换器,相对应的产生3个不同的输入fR(x,y),fG(x,y),fB(x,y)将它们对应地作为彩色图像的红绿蓝三个色彩分量合成一副彩色图像。
彩虹编码和热金属编码是其中的两种变化函数。
彩虹编码
Image1=imread('lotus.bmp');%转换为灰度gray=rgb2gray(Image1);[h,w]=size(gray);%新图像的矩阵NewImage3=zeros(h,w,3);for x=1:hfor y=1:wif gray(x,y)<96NewImage3(x,y,1)=0;elseif gray(x,y)<128NewImage3(x,y,1)=255*(gray(x,y)-96)/32;elseNewImage3(x,y,1)=255;endendendfor x=1:hfor y=1:wif gray(x,y)<32NewImage3(x,y,2)=0;elseif gray(x,y)<64NewImage3(x,y,2)=255*(gray(x,y)-32)/32;elseif gray(x,y)<128NewImage3(x,y,2)=255;elseif gray(x,y)<192NewImage3(x,y,2)=255*(192-gray(x,y))/64;elseNewImage3(x,y,2)=255*(gray(x,y)-192)/64;endendendfor x=1:hfor y=1:wif gray(x,y)<32NewImage3(x,y,3)=255*gray(x,y)/32;elseif gray(x,y)<64NewImage3(x,y,3)=255;elseif gray(x,y)<96NewImage3(x,y,3)=255*(96-gray(x,y))/32;elseif gray(x,y)<192 NewImage3(x,y,3)=0;elseNewImage3(x,y,3)=255*(gray(x,y)-192)/64;endendendimshow(NewImage3),title('彩虹编码')
处理结果
热金属编码
Image1=imread('lotus.bmp');%转换为灰度gray=rgb2gray(Image1);[h,w]=size(gray);%新图像的矩阵NewImage4=zeros(h,w,3);for x=1:hfor y=1:wif gray(x,y)<64NewImage4(x,y,1)=0;elseif gray(x,y)<128NewImage4(x,y,1)=255*(gray(x,y)-64)/64;elseNewImage4(x,y,1)=255;endendendfor x=1:hfor y=1:wif gray(x,y)<128NewImage4(x,y,2)=0;elseif gray(x,y)<192NewImage4(x,y,2)=255*(gray(x,y)-128)/64;elseNewImage4(x,y,2)=255;endendendfor x=1:hfor y=1:wif gray(x,y)<64NewImage4(x,y,3)=255*gray(x,y)/64;elseif gray(x,y)<96NewImage4(x,y,3)=255;elseif gray(x,y)<128NewImage4(x,y,3)=255*(128-gray(x,y))/32;elseif gray(x,y)<192 NewImage4(x,y,3)=0;elseNewImage4(x,y,3)=255*(gray(x,y)-192)/64;endendendimshow(NewImage4),title('热金属编码')
处理结果