1.直接图形法
1.坐标信息
1)数据坐标,画图显示的坐标系
2)设备坐标,即屏幕坐标系,左上角为(0,0)
3)归一化坐标
2.颜色系统
1)基础知识
a. IDL下提供两种显示模式
Device,Decomposed=0 是关闭颜色分解,用8位显示模块(即灰度影像)
Device,Decomposed=1 是打开颜色分解,用24为显示模块(即彩色影像)
b. 颜色表操作
xloadct或者loadct,加载颜色表,在命令行输入,选择喜欢的颜色条带。
IDL> xloadct
TvLCT,green,blue,blue,/Get 获取颜色表
2) 实例
a.选择显示单波段影像
颜色条带选择黑白条带,希望得到白底黑线的效果。对应的颜色取值是(0-255)
IDL> device,decomposed=0
IDL> xloadct
IDL> plot,indgen(5),background=255,color=0
IDL>
b.选择显示3波段影像(真彩色,假彩色,伪彩色)对应的颜色取值是(0-256^3-1)或者(0-'ffffff’x)
I.RGB转换成颜色索引值的函数(自定义)
function RGB2IDX,RGB
return,RGB[0]+(RGB[1]*2L^8)+(RGB[2]*2L^16)
END
结果(两个极值,白色和黑色看结果):
IDL> rgb_li=[0,0,0]
IDL> RGB2IDX(rgb_li)
0
IDL> rgb_zi=[255,255,255]
IDL> RGB2IDX(rgb_zi)
16777215
II.三波段显示例子:
IDL> device,decomposed=1
IDL> xloadct
IDL> plot,indgen(5),background='ffffff'x,color=RGB2IDX([255,255,0])
IDL>
3)系统变量定义背景颜色和画线颜色
IDL> device,decomposed=0
IDL> !p.BACKGROUND=255
IDL> !p.color=0
IDL>
2.图形图像显示
1.显示窗口
例子:
IDL> window,0,xsize=400,ysize=200,title='huahua'
IDL> window,1,xsize=400,ysize=200,title='huahua2'
IDL> wset,0
IDL> plot,indgen(5)
IDL>
2.绘制曲线
请君查看IDL帮助内容,自行学习。(direct_graphics)
以下说一些常用关键字的作用
(1),/ISOTROPIC x轴和y轴等比例显示
IDL> plot,indgen(5)
IDL> plot,indgen(5),/ISOTROPIC
(2)异常值的处理,将过大值和过小值不进行显示
IDL> a=[0,1,2,3,100]
IDL> plot,a,max_value=10
IDL>
(3)nsum 绘制散点图时,隔几个点绘制一个点(间隔)
(4)polar 极坐标系
(5)xstyle,ystyle 坐标轴的显示格式
其中xstyle=4,ystyle=4,则坐标轴抑制不显示
(6)axis 坐标轴
(7)对数纵坐标
(8)PSYM,用特定符号绘制散点图(也可自定义特定符号)
(9)一个窗口显示多幅影像,multi
(10)将窗口(当前工作窗口)内显示的图像存为图片格式,TVRD,
(11) 多曲线绘制在同一幅影像上
(12)绘制风格
(13)ynozero,y轴不显示0值,具体y轴显示范围系统自己确定
(14)设置字体(在中文标题的时候要用)
IDL> !p.font=0
IDL> device,set_font='宋体'
IDL> plot,indgen(2),title='中文标题'
IDL>
(15)y轴不是中文字符怎么办
!p.font=1
device,set_font=‘stsong’,TT_FONT,characterise=12
(characterize是调整字体大小)
(16)当坐标轴是时间时怎么绘制
参考IDL帮助label_date()函数
(17)等高线绘制
参考IDL参考文档,contour()函数
(18)添加图例
例子:
IDL> x=[0:360:0.1]/180*!pi
IDL> plot(sin(x),color='g',name='sin(x)')
PLOT <261581>
结果:
点击legend,即可得到图例
(19)画散点图scatterplot()
3.显示图像
(1)裁剪:选取子数组
(2)尺寸变换:rebin(),congrid()
(3)位置变换:rot(),rotate()
(4)域变换 FFT(快速傅里叶变换)
(5)增强和滤波:(拉伸,直方图均衡化,FFT,高通滤波,低通滤波)
(6)边缘算子(sobel,robort)
详情请看IDL帮助文档,image processing routines