IDL 对象图形法-图像对象 IDLgrImage用例解析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IDL 对象图形法-图像对象IDLgrImage用例解析

pro GrImage;IDL图像对象用例详解

oWindow=IDLgrWindow(DIMENSIONS=[400,300])

oView=IDLgrView()

oModel=IDLgrModel()

oView.Add,oModel

oWindow.SetProperty,GRAPHICS_TREE=oView

;SUBDIRECTORY子目录

file=FILEPATH('tree.png',SUBDIRECTORY=['examples','data'])

queryStatus=QUERY_IMAGE(file,imageInfo) ;把图片信息读到imageInfo中

imageSize=imageInfo.dimensions ;图片大小

image=READ_IMAGE(file) ;把图片数据读入到image中

oImage=IDLgrImage(image)

oModel.Add,oImage

oView.SetProperty,VIEWPLANE_RECT=[0,0,imageSize]

oWindow.SetProperty,DIMENSIONS=imageSize

oWindow.Draw

end

file=FILEPATH('tree.png',SUBDIRECTORY=['examples','data']) 选择了一个文件,他的目录是安装目录的Exelis\IDL83\examples\data 文件夹下,这里的tree.png图片是我自己放进去的,他自

己不会附带。

也可以不用SUBDIRECTORY 这个属性,直接在前面用绝对路径,也可以定位一个图片文件。

二、常用变换

(1)横向显示

;设置显示区域为x方向为图像三倍

oView.SetProperty,VIEWPLANE_RECT=[0,0,imageSize]*[0,0,3,1]

;创建RGB波段图像

oRed=IDLgrImage(image[0,*,*])

oGreen=IDLgrImage(image[1,*,*],LOCATION=[imageSize[0],0])

oBlue=IDLgrImage(image[2,*,*],LOCATION=[imageSize[0]*2,0])

oModel.Add,[oRed,oGreen,oBlue]

oWindow.SetProperty,DIMENSIONS=imageSize*[3,1]

oWindow.Draw

(2)重叠显示

oGreen.SetProperty,LOCATION=imageSize*.5

oBlue.SetProperty,LOCATION=imageSize

oWindow.SetProperty,DIMENSIONS=imageSize*2

oView.SetProperty,VIEWPLANE_RECT=[0,0,imageSize]*[0,0,2,2]

oWindow.Draw

三、颜色显示

颜色表需要用到IDLgrPalette 对象

pro GrPalette;IDL颜色表用例详解

oWindow=IDLgrWindow(DIMENSIONS=[400,300])

oView=IDLgrView(VIEWPLANE_RECT=[-100,-50,400,300])

oModel=IDLgrModel()

oView.Add,oModel

oImage=IDLgrImage(BYTSCL(dist(200))) ;图像显示的都是0-255的值,所以需要转换成byte 型

oModel.Add,oImage

oWindow.Draw,oView

end

oPalette=IDLgrPalette()

oPalette.LoadCT,2 ;载入索引为2的系统颜色表oImage.SetProperty,PALETTE=oPalette oWindow.Draw,oView

相关文档
最新文档