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

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值