关键词不能为空

当前您在: 主页 > 英语 >

IDL开发专题-IDL运算符与ENVI波段运算举例

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-12 15:26
tags:

-

2021年2月12日发(作者:understandable)



146


构。例如,每一个重复单元可以包 含


128


个字节的文件头,两个


100


个元素的浮


点型矢量和一个


100*1 00


的整型数组。如果是这样,可以建立一个文件关联变量。键


入:


OpenR, 10,





Info = BytArr (128) xvector = FltArr (100)


yvector = FlatArr(100) data = IntArr (100,100) struct = {header: info, x: xvector, y:


yvector, image: data} repeatingUnit = Assoc (10, struct)


因为映射到此数据文件相的


变量是一个结构变量,因此在它的引用被删除之前,必须对此结构变量进行临时拷贝。

< br>例如,显示文件第三个重复单元的图像部分,可以键入:


TempVariable =


repearingUnit (2) TvScl,


按照通常的方式,可以用


Free_Lun


Close


命令将关联变量和文件之间的联系关闭。如下 :


Free_Lun, lun Close, 10



文件格式



读此类文件的


IDL


程序



写此类文件 的


IDL


程序


BMP Read_BMP


Write_BMP CDF


参考


CDF




参考


CDF



DICOM IDLffDICOM


对象


IDLffDICOM




DXF IDLffDXF


对象


IDLffDXF


对象


GIF Read_GIF Write_GIF HDF


参考


HDF






HDF



HDF-EOS


参考


HDF




参考


HDF



Interfile Read_Interfile



JPEG


Read_JPEG Write_JPEG netCDF


参考


netCDF




参考


netCDF


< br> PICT Read_PICT


Write_PICT PBM/PPM Read_PPM Write_PPM PNG Read_PNG Write_PNG PostScript



PS


或打印设备


Sun Rasterfiles Read_SRF Write_SRF SYLK Read_SYLK


Write_SYLK TIFF/GeoTIFF Read_TIFF Write_TIFF WAVE Read_WAVE Write_WAVE


X11-bitmap Read_X11_Bitmap



XWD Read_XWD





9< /p>



IDL


能够读写许多常用


的数据文件格式。一般情况下通过用


IDL


语言写的 库程序或动



态连接模块(


DLM


)来


完成的,


DLM


在运行时可以添加到


IDL


中。


CD F



netCDF


< br>HDF


文件格式是



著名的


科学数据格式,有它们自己的


IDL


接口和 库程序。



147


读写常用文件格式的文件



到目 前为止,本章已经介绍了


IDL


读写数据文件的一


般方法。这种底层的能力已经可以用


IDL


读写许多 数据文件了。但是可能还想知道许


多其它文件格式如何读写。这些文件格式中就有


GIF



JPEG


文 件格式,它们常常在不


同办公室之间或全球范围内被用来共享数据。当想在硬拷贝中出版 图形输出时,可能


想知道也必须知道如何建立


PostScri pt


文件。


IDL


可以读写许多常 用文件格式,这些


文件格式已在表


9


中 列出。



创建彩色


GIF

< p>
文件


GIF


文件常被用来在万维网上发布图< /p>


形信息。如果想和同事共享图形结果,迟早要读写


GIF


文件。



要看其是如何完成的,


可装入一些数据,然后在图形窗口中显示这些数据。键入:


IDL> Window,


XSize=300, YSize=300 IDL> data= LoadData (1) IDL> TVLCT, [100,255,0],


[100,255,255], [100,0,0], 0 IDL> Plot, data, /NoData, Color=2, Background=0 IDL>


OPlot, data, Color=1



GIF


文件



下面的命令生成一个大小为


300*300

像素的


GIF



件。首先,将图形 窗口的内容复制到一个


2D


字节型图像变量中。如果在使用


8


位显示


器,


TV RD


命令可用来实现这个目的。


IDL> image = TVRD ()


如果正在


16


位或


24


位彩色显示器运行


IDL


,那么需要用


TVRD


命令获取一幅

< p>
24


位的图像,然后用


Color_Quan


命令将它压缩成一幅带有正确色彩表矢量的


2D

图像,命令如下。只有是



16


位 或


24


位显示器上运行


IDL


,才用下面的命令代替上面的命令:


IDL> image


= TVRD (True=1) IDL> image = Color_Quan (image24, l, r, g, b)


假如已经有 一个


2D


字节型数组,就没有必要再拷贝图形窗口。

< p>
GIF


文件格式要求将色彩表随图像数


据一起 存储到


GIF


文件内。如果使用


8


位显示器,那么用


TVCL


命令和


Get


关键字就


可以得到由红、绿、蓝三种颜色 矢量组成的当前色彩表:


IDL> TVCL, r, g, b, /Get


假如正在


16


位或

24


位的显示器上运行作,没有必要键入上面的命令。可以在上面

< br>Color_Quan


命令里得到相关图像的色彩表矢量。



色彩矢量必须是


256


个元素。 如果



8


位显示器上运行


IDL


,这些矢量可能就没有这么长,但是不必担心。如果在写


GIF


文件时这些色彩矢量不够长的话,


IDL< /p>


将会加长色彩矢量。如果想充分利用


256


种颜


色,可考虑在


Z


图形缓冲区装载 色彩表,然后得到颜色矢量,缺省情况下可获得


256


种颜色。 参考


125


页的“


Z

< br>图形缓冲区中的图形显示技巧”。



最后,用


Write_GIF



令将图像和颜色矢量写进 名为




GIF


文件:


IDL> Write_GIF,





,


image, r, g, b


148


以上就是所有要做的。没有必要获取逻辑设备号或其它东西。所有这些细节都是


IDL


库程序


Write_GIF


命令 来处理的。如果对具体如何实现感到好奇的话,可以检查源


代码。



如果读者有某个应用程序能打开和读取


GIF

< p>
文件,试着读一下刚建立的文件。


许多万维网的浏览器都支持读取


GIF


文件。看一下,如果浏览器有一个


Ope n File


按钮,


用它试试看能否读取这个

< br>GIF


文件。




GIF


文件



要读刚建立的


GIF


文件,可按下


面简单地用


Read_GIF


命令读


GIF


文件里的图像和颜色矢量。


IDL> Read_GIF,





,thisImage, rr, gg, bb


清除图形 窗口,装载一个灰色级调色板,可以看到


将发生什么。键入:


IDL> Erase IDL> LoadCT, 0


现在,显示刚从文件里读 取的图


像,如下:


IDL> TV,thisImage


有时候在图形窗口里什么都看不到,这是因为


GIF

< p>


像使用的颜色还没有装入。必须装载和


GIF< /p>


图像相关的色彩表,以便这个图像能够正


确地显示。键入:


IDL> TVCT, rr, gg, bb


将在显示窗口里看到原始图像。



假 设在


16


位或


24

位上的显示器上,必须关掉颜色分解。为了看到正确的颜色,必须在装入


颜色表矢量 之后重新显示这个图像。


IDL> Device, Decomposed=0 IDL> TV,


thisImage


创建彩色


JPEG


文件



另外 一个常被用在万维网上共享图形结果的文件格式



JPEG


格式。这个


JPEG


格式被称为有损压缩格 式。也就是说,当图像数据被压缩报


存到文件时,数据的一些信息内容会被丢失,并且不 能被恢复。压缩比例,丢失的信


息量以及输出图像的质量通常可用质量索引值来设定,质 量索引值的范围从


0


(丢失


许多信息内 容的,质量差)到


100


(很少或根本就没有信息丢失,质量好 )。



通常,


质量索引值被设置为< /p>


75


,即保证一个适当的压缩比,没有丢失很多信息且图像质量损


失不大。



一幅彩色


JPEG


图像一般是


24


位的 图像。也就是说,这个图像是


3D


字节型


数组。在这个数组中,维数之一将为


3


。这个维数的位置将决 定图像是隔像素扫描(


3,


m, n


),隔行扫描(


m, 3, n


),还是隔波段扫描(


m, n, 3


)。在很多情况下,所拥有


的图像是


8


位的图像,而不是


24


位的图像,希望将其转变成一幅


JPEG


文件。例如,

-


-


-


-


-


-


-


-



本文更新与2021-02-12 15:26,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/644230.html

IDL开发专题-IDL运算符与ENVI波段运算举例的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文