- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IDL入门教程_03a_图像数据处理_上
第三章 图像数据处理
本章概要
IDL 开始是一种处理图像的语言。正因为此,世界各地的许多科学家和工程师仍
在用IDL 语言。这章阐述了图像处理的基本工作。将从中学到以下几点
1. 怎样读取和显示图像数据
2. 怎样缩放图像数据
3. 怎样在显示窗口中定位图像
4. 怎样改变图像的大小
5. 怎样从显示设备中读取图像
6. 怎样完成基本的图像处理任务
7. 怎样建立简单的图像滤波器
图像处理
事实上,任何类型的二维数据集都可认为是一幅图像。但是 在一个8 位的显示设备上
显示图像数据,就必须将图像数据调整为 0~255 之间的字节型数值。(在一个24-bit 的显
示设备上,24 位图像的RGB 值必须调整成字节型数值。)因为图像总是以字节型数值显示,
所以图像总是以字节型数组来存储。但是无论图像是怎样存储的,图像总是由两个显示图像
的IDL 命令:TV 和TVScl 以字节型数值来显示。
了解是怎样工作的,需要有一些图像数据用于处理。用命令LoadData 来打开图像数据
集Ali and Dave。将 处理这两幅图像数据中的第二幅图像。键入
IDLimage=LoadData(10)
IDLimage=image[*,*,1]
显示图像
可用TV 和TVScl 两个IDL 命令中的任一个来显示图像。这两个命令几乎在各个方面都
是一样的,包括能与之一起使用的关键字。仅仅在一个方面不同:TVScl 将图像数据调整为
与IDL 运行时所用颜色数目相适应的字节型数值。例如:如果在使用IDL 时用220 种颜色,
则在图像显示之前TVScl 将图像数据调整为0~219 之间的字节型数值。
另一方面,TV 命令取图像数据本身的值,仅仅将其作为字节型数值传送到显示设备上。
如果有必 ,图像数据将被截断以符合字节型数值。如果图像数据不被调整到0~255 之间,
图像将很可能显示不正确。
注意,与Plot,Surface 和Contour 命令不同,TV 和TVScl 命令在显示图像之前不删
除已显示的内容。一般情况下这个问题不大,但有时候也会产生一些麻烦。如果想 一个
净的显示窗口来显示图像数据,无论当前窗口上的显示内容是什么,都可用一个简单的命令
Erase 来删除。
IDLErase
这里有一个实例。刚才读取的IDL 的图像数据集已经调整在0~255 之间。
可以键入如下内容来查看:
IDLPrint,Max(image),Min(image)
但是,如果在一个8 位显示设备上工作,可能没有全部使用在显示器上可用的256 种颜
色。如果需 了解正在使用多少种颜色,可键入:
IDLPrint, !D.Table_Size
在一个 8 位显示器(这里指颜色表的大小)上,运行 IDL 时所用颜色的数目通常是在
210~240 之间,显然可用的颜色太少了。在一个24 位的显示器上,可以获得1670000 种颜
色,但颜色表大小仍然是256。以后将会学到IDL 是怎样选择它所用的颜色数目。
打开一个显示窗口,装上灰度颜色表, 用TV 命令显示图像:
IDLWindow,0,XSize=192,YSize=192
IDLLoadCT,0
IDLTV,image
所得图像应如图30 所示。
图30:IDL 和Research Systems 公司的创始人--David Stern 的图像。People.dat 数
据集中的另外一幅图像是Ali Bahrami,Research Systems 公司的第一为员工。他们两
个依然致力于IDL 的开发。
因为是用TV 命令,所以数据没有经过调整就被传送到显示器中。尽管看不出来,
但图像上所有大于 IDL 运行时的颜色数目的像素值都被设为同样的值。也就是说,比!
D.Table_Size-1 值大的像素被以相同的颜色显示。(在这种情况下,看到的颜色是灰色明暗
图。)
如果用TVScl 命令显示图像,也许能看出差别。打开另一个窗口并将其移到第一个窗口
的旁边。用TVScl 命令显示图像:
IDLwindow,1
文档评论(0)