資源描述:
《IDL繪圖時(shí)的顏色設(shè)置.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、圖像真彩色、假彩色和偽彩色顯示一、背景知識(shí)計(jì)算機(jī)表示顏色也是用二進(jìn)制。16位色的發(fā)色總數(shù)是6553真彩色,也就是2的16次方;24位色被稱為真彩色,它可以達(dá)到人眼分辨的極限,發(fā)色數(shù)是1677萬(wàn)多色,也就是2的24次方。圖像顯示的時(shí)候可能涉及到真彩色顯示、偽彩色顯示和假彩色顯示等方式。IDL下顯示圖像又有直接圖形法、對(duì)象圖形法、智能化工具可視化和快速可視化四種,后面分別以代碼的形式給出各種模式下的圖像顯示例程,仔細(xì)看注釋。二、基本概念真彩色(TrueColor):真彩色是指在組成一幅彩色圖像的每個(gè)像素值中,有R、G、B三個(gè)基色分量,每個(gè)基色分量直接決定顯示設(shè)備的基色強(qiáng)度產(chǎn)生彩色。偽彩色(P
2、seudoColor):每個(gè)像素的顏色不是由每個(gè)基色分量的數(shù)值直接決定,而是把像素值當(dāng)作顏色查找表(colorlook-uptable,CLUT)的表項(xiàng)入口地址,去查找一個(gè)顯示圖像時(shí)使用的R,G,B強(qiáng)度值,用查找出的R,G,B強(qiáng)度值合成產(chǎn)生彩色。假彩色(FalseColor):將多波段單色影像合成為假彩色影像,如landsat7/ETM+有八個(gè)波段,用其中三個(gè)合成就是假彩色。從實(shí)現(xiàn)技術(shù)上講,假彩色與真彩色是一致的,都是R、G、B分量組合顯示;偽彩色顯示調(diào)用的是顏色表。三、代碼實(shí)現(xiàn)1.直接圖形法;直接圖形法--PROSHOWIMAGEDIRECTGRAPHICS,imgDims,$rgbI
3、mage,$redChannel,$greenChannel,$blueChannel;真彩色;顯示窗口WINDOW,0,xsize=imgDims[0],ysize=imgDims[1],$title='真彩色'DEVICE,decomposed=1;/true相當(dāng)于true=1,即對(duì)應(yīng)圖像數(shù)組為(3,w,h)TV,rgbImage,/true;直接圖形法--偽彩色WINDOW,1,xsize=imgDims[0],ysize=imgDims[1],$title='灰度顯示';原灰度顯示TV,redChannel;加載已有顏色表(IDL提供了近40個(gè)現(xiàn)成的顏色表,可通過(guò)xloadct查
4、看)DEVICE,decomposed=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,d
5、ecomposed=1WINDOW,4,xsize=imgDims[0],ysize=imgDims[1],$title='假彩色'TV,rgbImage[[2,1,0],*,*],/trueEND1.對(duì)象圖形法;對(duì)象圖形法顯示圖像PROSHOWIMAGEOBJECTGRAPHICS,imgDims,$rgbImage,$redChannel,$greenChannel,$blueChannel;對(duì)象圖形法-真彩色顯示oImage=OBJ_NEW('IDLgrImage',rgbImage)XOBJVIEW,oImage,title='真彩色顯示';對(duì)象圖形法-偽彩色顯示oPalette
6、=OBJ_NEW('IDLgrPalette')oPalette.LOADCT,13oImage=OBJ_NEW('IDLgrImage',redChannel,$palette=oPalette)XOBJVIEW,oImage,title='偽彩色顯示(顏色表13)';假彩色顯示oImage=OBJ_NEW('IDLgrImage',rgbImage[[2,1,0],*,*])XOBJVIEW,oImage,title='假彩色顯示'END1.智能化編程工具可視化;智能化編程工具PROSHOWIMAGEITOOLS,imgDims,$rgbImage,$redChannel,$gree
7、nChannel,$blueChannel;真彩色顯示IIMAGE,rgbImage,title='TrueColor';灰度顯示IIMAGE,redChannel,title='Gray';偽彩色顯示-獲取顏色表LOADCT,13TVLCT,r,g,b,/getrgbTable=BYTARR(3,256)rgbTable[0,*,*]=rrgbTable[1,*,*]=grgbTable[2,*,*]=b;偽彩色顯示IIMAGE,