图像真彩色、假彩色和伪彩色显示背景知识计算机表示颜色也是用二进制。16位色的发色总数是6553真彩色,也就是2的16次方;24位色被称为真彩色,它可以达到人眼分辨的极限,发色数是1677万多色,也就是2的24次方。图像显示的时候可能涉及到真彩色显示、伪彩色显示和假彩色显示等方式。IDL下显示图像又有直接图形法、对象图形法、智能化工具可视化和快速可视化四种,后面分别以代码的形式给出各种模式下的图像显示例程,仔细看注释。基本概念真彩色(TrueColor):真彩色是指在组成一幅彩***像的每个像素值中,有R、G、B三个基色分量,每个基色分量直接决定显示设备的基色强度产生彩色。伪彩色(PseudoColor):每个像素的颜色不是由每个基色分量的数值直接决定,而是把像素值当作颜色查找表(colorlook-uptable,CLUT)的表项入口地址,去查找一个显示图像时使用的R,G,B强度值,用查找出的R,G,B强度值合成产生彩色。假彩色(FalseColor):将多波段单色影像合成为假彩色影像,如landsat7/ETM+有八个波段,用其中三个合成就是假彩色。从实现技术上讲,假彩色与真彩色是一致的,都是R、G、B分量组合显示;伪彩色显示调用的是颜色表。代码实现直接图形法;直接图形法--PROSHOWIMAGEDIRECTGRAPHICS,imgDims,$rgbImage,$redChannel,$greenChannel,$blueChannel;真彩色;显示窗口WINDOW,0,xsize=imgDims[0],ysize=imgDims[1],$title='真彩色'DEVICE,posed=1;/true相当于true=1,即对应图像数组为(3,w,h)TV,rgbImage,/true;直接图形法--伪彩色WINDOW,1,xsize=imgDims[0],ysize=imgDims[1],$title='灰度显示';原灰度显示TV,redChannel;加载已有颜色表(IDL提供了近40个现成的颜色表,可通过xloadct查看)DEVICE,posed=0LOADCT,13WINDOW,2,xsize=imgDims[0],ysize=imgDims[1],$title='伪彩色(颜色表13)'TV,redChannel;自定义颜色表myR=BINDGEN(256)myG=myR[REVERSE(myR)]myB=myR;增加编辑颜色表MODIFYCT,41,'colorTable',myR,myG,myBLOADCT,41WINDOW,3,xsize=imgDims[0],ysize=imgDims[1],$title='伪彩色(自定义颜色表)'TV,redChannel;假彩色DEVICE,posed=1WINDOW,4,xsize=imgDims[0],ysize=imgDims[1],$title='假彩色'TV,rgbImage[[2,1,0],*,*],/trueEND对象图形法;对象图形法显示图像PROSHOWIMAGEOBJECTGRAPHICS,imgDims,$rgbImage,$redChannel,$greenChannel,$blueChannel;对象图形法-真彩色显示oImage=OBJ_NEW('IDLgrImage
IDL绘图时的颜色设置 来自淘豆网www.taodocs.com转载请标明出处.