idl入门教程三(上)

idl入门教程三(上)

ID:15299068

大小:156.50 KB

页数:13页

时间:2018-08-02

idl入门教程三(上)_第1页
idl入门教程三(上)_第2页
idl入门教程三(上)_第3页
idl入门教程三(上)_第4页
idl入门教程三(上)_第5页
资源描述:

《idl入门教程三(上)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章图像数据处理本章概要IDL最开始是一种处理图像的语言。正因为此,世界各地的许多科学家和工程师仍在用IDL语言。这章阐述了图像处理的基本工作。将从中学到以下几点1.怎样读取和显示图像数据2.怎样缩放图像数据3.怎样在显示窗口中定位图像4.怎样改变图像的大小5.怎样从显示设备中读取图像6.怎样完成基本的图像处理任务7.怎样建立简单的图像滤波器图像处理事实上,任何类型的二维数据集都可认为是一幅图像。但是要在一个8位的显示设备上显示图像数据,就必须将图像数据调整为0~255之间的字节型数值。(在一个24-bit的显示设备上,24位图像的RGB值必须调整成字节型数值

2、。)因为图像总是以字节型数值显示,所以图像总是以字节型数组来存储。但是无论图像是怎样存储的,图像总是由两个显示图像的IDL命令:TV和TVScl以字节型数值来显示。要了解是怎样工作的,需要有一些图像数据用于处理。用命令LoadData来打开图像数据集AliandDave。将要处理这两幅图像数据中的第二幅图像。键入IDL>image=LoadData(10)IDL>image=image[*,*,1]显示图像可用TV和TVScl两个IDL命令中的任一个来显示图像。这两个命令几乎在各个方面都是一样的,包括能与之一起使用的关键字。仅仅在一个方面不同:TVScl将图像数

3、据调整为与IDL运行时所用颜色数目相适应的字节型数值。例如:如果在使用IDL时用220种颜色,则在图像显示之前TVScl将图像数据调整为0~219之间的字节型数值。另一方面,TV命令取图像数据本身的值,仅仅将其作为字节型数值传送到显示设备上。如果有必要,图像数据将被截断以符合字节型数值。如果图像数据不被调整到0~255之间,图像将很可能显示不正确。注意,与Plot,Surface和Contour命令不同,TV和TVScl命令在显示图像之前不删除已显示的内容。一般情况下这个问题不大,但有时候也会产生一些麻烦。如果想要一个干净的显示窗口来显示图像数据,无论当前窗口上

4、的显示内容是什么,都可用一个简单的命令Erase来删除。IDL>Erase这里有一个实例。刚才读取的IDL的图像数据集已经调整在0~255之间。可以键入如下内容来查看:IDL>Print,Max(image),Min(image)但是,如果在一个8位显示设备上工作,可能没有全部使用在显示器上可用的256种颜色。如果需要了解正在使用多少种颜色,可键入:IDL>Print,!D.Table_Size在一个8位显示器(这里指颜色表的大小)上,运行IDL时所用颜色的数目通常是在210~240之间,显然可用的颜色太少了。在一个24位的显示器上,可以获得1670000种颜色

5、,但颜色表大小仍然是256。以后将会学到IDL是怎样选择它所用的颜色数目。打开一个显示窗口,装上灰度颜色表, 用TV命令显示图像:IDL>Window,0,XSize=192,YSize=192IDL>LoadCT,0IDL>TV,image所得图像应如图30所示。图30:IDL和ResearchSystems公司的创始人--DavidStern的图像。People.dat数据集中的另外一幅图像是AliBahrami,ResearchSystems公司的第一为员工。他们两个依然致力于IDL的开发。因为是用TV命令,所以数据没有经过调整就被传送到显示器中。尽管看不

6、出来,但图像上所有大于IDL运行时的颜色数目的像素值都被设为同样的值。也就是说,比!D.Table_Size-1值大的像素被以相同的颜色显示。(在这种情况下,看到的颜色是灰色明暗图。)如果用TVScl命令显示图像,也许能看出差别。打开另一个窗口并将其移到第一个窗口的旁边。用TVScl命令显示图像:IDL>window,1,XSize=192,YSize=192IDL>TVScl,image可看到两个图像的明暗程度不同。因为这幅图像数据最大值为238,所以差别是很微弱的。如果看不出差别,可先在0~255之间对数据进行调整:IDL>west,0IDL>image=B

7、ytscl(image)IDL>tv,imageIDL>west,1IDL>tvscl,image如果仍不能看到差别,可装入颜色表。RedTemperature颜色表可能起作用。键入:IDL>LoadCT,3如果要了解TVScl作了些什么,可调整数据并用TV命令显示:IDL>Window,2,XSize=192,YSize=192IDL>scaled=Bytscl(image,Top=!D.Table_Size-1)IDL>TV,scaled在窗口2中看到的图像应与窗口1中的图像一样。这就是所说的,TVScl将数据调整为与IDL运行时所用颜色数目相适应的字节型数

8、值。注意:如果在显示窗口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。