北大《空间探测信息处理技术(IDL)》第7章图像处理(中)

上传人:lizhe****0001 文档编号:60264490 上传时间:2018-11-15 格式:PPT 页数:43 大小:637KB
返回 下载 相关 举报
北大《空间探测信息处理技术(IDL)》第7章图像处理(中)_第1页
第1页 / 共43页
北大《空间探测信息处理技术(IDL)》第7章图像处理(中)_第2页
第2页 / 共43页
北大《空间探测信息处理技术(IDL)》第7章图像处理(中)_第3页
第3页 / 共43页
北大《空间探测信息处理技术(IDL)》第7章图像处理(中)_第4页
第4页 / 共43页
北大《空间探测信息处理技术(IDL)》第7章图像处理(中)_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《北大《空间探测信息处理技术(IDL)》第7章图像处理(中)》由会员分享,可在线阅读,更多相关《北大《空间探测信息处理技术(IDL)》第7章图像处理(中)(43页珍藏版)》请在金锄头文库上搜索。

1、空间探测信息处理技术,Interactive Data Language (IDL) 第 7 章:图像处理(中) 韩培友,IDL可视化分析与应用 ,西北工业大学出版社,2006年. (第九章:图像处理),图像的贴图处理,贴图处理:把图像贴到一个任意的几何表面上。例如:给一个几何体加纹理。 曲面贴图 用 READ_* 读取图像数据; 用 READ_* 读取曲面数据(高程数据),或用户创建曲面数据; 用类 IDLgrWindow 创建窗口,设置颜色模式 用类 IDLgrView 创建视图对象 用类 IDLgrModel 创建模式 用类 IDLgrPalette 创建调色板(对于伪彩色) 用类 ID

2、LgrSurface 创建曲面对象。并设置TEXTURE_MAP等属性,注意坐标单位及尺寸 用类 IDLgrImage 创建图像对象用于贴图 在 IDLgrModel 对象中添加曲面对象和图像对象 在 IDLgrView 中添加 IDLgrModel 对象 用 IDLgrWindow:Draw 显示图像,或用XOBJVIEW贴图,图像的贴图处理,相关函数 XOBJVIEW, Obj ,BACKGROUND=r, g, b $ ,/BLOCK ,/DOUBLE_VIEW $ ,GROUP=widget_id ,/JUST_REG ,/MODAL $ ,REFRESH=widget_id ,REN

3、DERER=0|1 $ ,SCALE=value ,STATIONARY=objref(s) $ ,/TEST ,TITLE=string ,TLB=variable $ ,XOFFSET=value ,YOFFSET=value $ ,XSIZE=pixels ,YSIZE=pixels 说明:以交互方式显示图像对象 Obj : 要显示的图像对象 BACKGROUND=r, g, b : 背景颜色; /BLOCK : 引起所有的 widget 阻止方式,等待此操作; /DOUBLE_VIEW : 给IDLgrView设置BOUBLE属性; GROUP=widget_id : 调用 XOBJV

4、IEW 的 widget 号;,图像的贴图处理,相关函数 /JUST_REG : 立即进行窗口注册,在NO_BLOCK情况下, : 处理多窗口操作事件用; /MODAL : 限制其它 widget 的消息传递; TLB=variable : 保存顶层BASE的widget_id; REFRESH=widget_id : 设置用于刷新用的 widget 号 XOBJVIEW, myobj, TLB=tlb ; 一旦 myobj 被修改则用下列语句刷新 XOBJVIEW, REFRESH=tlb RENDERER=0|1 : 渲染设置 SCALE=value : 设置与原视图的放缩因子,默认1/s

5、qrt(3) STATIONARY=objref(s) : 设置作为参考的图形元素, : 此元素不会被放大或改变,默认为两个光源;用此属性设置 : 图形对象不会因XOBJVIEW退出而释放(destroy) /TEST : 用于测试 XOBJVIEW,图像的贴图处理,相关函数 例:exam07_TestXOBJVIEW mylight1 = OBJ_NEW(IDLgrLight, TYPE=0, $ COLOR=255,0,0) ; Ambient red mylight2 = OBJ_NEW(IDLgrLight, TYPE=2, $ COLOR=255,0,0, LOCATION=2,2,

6、5) ; Directional red mymodel = OBJ_NEW(IDLgrModel) mymodel-Add, mylight1 mymodel-Add, mylight2 XOBJVIEW, /TEST, STATIONARY=mymodel ,XOFFSET=value ,YOFFSET=value : 设置窗口位置,单位为像素点数 ,XSIZE=pixels ,YSIZE=pixels : 设置窗口位置,单位为像素点数,默认为400 TITLE=string : 窗口标题。,图像的贴图处理,曲面贴图,例:9.31 PRO Chapter09ElevationObject

7、imageFile = FILEPATH(elev_t.jpg, SUBDIRECTORY = examples, data) READ_JPEG, imageFile, image demFile = FILEPATH(elevbin.dat, SUBDIRECTORY = examples, data) dem = READ_BINARY(demFile, DATA_DIMS = 64, 64) dem = CONGRID(dem, 128, 128, /INTERP) DEVICE, DECOMPOSED = 0, RETAIN = 2 WINDOW, 0, TITLE = Elevat

8、ion Data SHADE_SURF, dem oModel = OBJ_NEW(IDLgrModel) oView = OBJ_NEW(IDLgrView) oWindow = OBJ_NEW(IDLgrWindow, RETAIN = 2, COLOR_MODEL = 0) oSurface = OBJ_NEW(IDLgrSurface, dem, STYLE = 2) oImage = OBJ_NEW(IDLgrImage,image,INTERLEAVE=0,/INTERPOLATE) oSurface - GetProperty, XRANGE = xr, YRANGE = yr,

9、 ZRANGE = zr xs = NORM_COORD(xr) & xs0 = xs0 - 0.5 ys = NORM_COORD(yr) & ys0 = ys0 - 0.5 zs = NORM_COORD(zr) & zs0 = zs0 - 0.5 oSurface - SetProperty,XCOORD_CONV=xs,YCOORD_CONV=ys,ZCOORD=zs oSurface - SetProperty, TEXTURE_MAP = oImage,COLOR=255,255,255 oModel - Add, oSurface & oView - Add, oModel oM

10、odel - ROTATE, 1, 0, 0, -90 oModel - ROTATE, 0, 1, 0, 30 oModel - ROTATE, 1, 0, 0, 30 oWindow - Draw, oView XOBJVIEW, oModel, /BLOCK, SCALE = 1 OBJ_DESTROY, oView, oImage END,图像的贴图处理,球面贴图 把一个图像映射到球面上 用READ_* 读出图像; 用网格生成过程 MESH_OBJ 创建球面数据; 用类 IDLgrView 创建视图对象; 用类 IDLgrWindow 创建窗口对象; 用 POLYSHADE 或者 ID

11、LgrPolygon 创建贴图对象,并设置属性; 用 IDLgrWindow:Draw绘制图形,或用XOBJVIEW交互式显示贴图。,图像的贴图处理,相关过程 MESH_OBJ, Type, Vertex, Polygon_List $ , Array1 ,Array2 ,/CLOSED ,/DEGREES $ , P1, P2, P3, P4, P5=value 创建指定形状的网格图形对象。 Type : 设定网格图形的类型,0 : 三角形;1 : 矩形; 2 : 扇形;3 : 柱面;4 : 球面;5 : Extrusion; 6 : Revolution;7 : Ruled Vertex

12、: 将用来保存顶点坐标; Polygon_List : 将用来保存多边形列表; Array1 : 与Type有关的数组; Array2 : 与Type有关的数组; /CLOSED : 封闭曲面,第一个点既是最后一个点; /DEGREES : 输出角度参数时选用度为单位,缺省为弧度; , P1, P2, P3, P4, P5=value :与Type有关的关键字。,图像的贴图处理,相关过程 创建三角形: Array1 : (3, n)数组, 包含 n 个顶点 Array2 : 忽略 P1P5= : 不用 矩形 Array1 : (n, m)数组, 包含 n x m 个顶点 Array2 : 忽略

13、 P1=arr : n长度矢量,顶点的X坐标,缺省时FINDGEN(n) P2=arr : m长度矢量,顶点的Y坐标,缺省时FINDGEN(m) P3P5 : 忽略,图像的贴图处理,相关过程 扇形: Array1 : (n, m)数组, nm个顶点,n-极角,m-矢径 Array2 : 忽略 P1=value : 开始极角(0) P2=value : 结束极角(2*PI) P3=value : 开始的矢径(0) P4=value : 结束的矢径(m-1) P5 : 忽略 圆柱 Array1 : (n, m)数组, nm个顶点,n-极角,m-Z,值-r Array2 : 忽略 P3=value

14、: 开始的Z(0) P4=value : 结束的Z(m-1) P5 : 忽略,图像的贴图处理,相关过程 球形: Array1 : (n,m)数组, nm个顶点,n-经度,m-纬度,值-r Array2 : 忽略 P1=value : 开始经度(0) P2=value : 结束经度(2*PI) P3=value : 开始纬度(-PI/2) P4=value : 结束纬度(+PI/2) P5 : 忽略 例:exam07_TestMESH_OBJ.pro,图像的贴图处理,相关过程 Result = POLYSHADE(Vertices, Polygons) or Result = POLYSHADE

15、(X, Y, Z, Polygons) 给多边形染色 Result : 给多边形染色后的二维图像数组 Vertices : 多边形顶点坐标 Polygons : 多边形边 X, Y, Z : 多边形顶点坐标,图像的贴图处理,球形显示世界地图,例9.32 PRO Chapter09MapOnSphereDirect file = FILEPATH(worldelv.dat $ , SUBDIRECTORY = examples, data) image = READ_BINARY(file, DATA_DIMS = 360, 360) image = BYTSCL( image,TOP=254)

16、 DEVICE, DECOMPOSED = 0 LOADCT, 33 TVLCT, 255, 255, 255, !D.TABLE_SIZE - 1 WINDOW, 0, XSIZE = 360, YSIZE = 360 TV, image MESH_OBJ, 4, vertices, polygons $ , REPLICATE(0.25, 360, 360), /CLOSED WINDOW, 2, XSIZE = 512, YSIZE = 512 SCALE3,xRange=-0.25,0.5,yRange=-0.25,0.25 $ ,zRange=-0.25,0.25,AX=0,AZ=-90 SET_SHADING, LIGHT = -0.5, 0.5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号