IDL 图像处理第2讲

合集下载

实验三 IDL图像处理

实验三 IDL图像处理

实验三IDL图像处理目的:掌握IDL图像处理的手段内容:1、显示图像事实上,任何类型的二维数据集都可认为是一幅图像。

但是要在一个8位的显示设备上显示图像数据,就必须将图像数据调整为 0~255之间的字节型数值。

(在一个24-bit的显示设备上,24位图像的RGB值必须调整成字节型数值)。

因为图像总是以字节型数值显示,所以图像总是以字节型数组来存储。

但是无论图像是怎样存储的,在IDL中,图像总是由两个显示图像的IDL命令:TV和TVScl以字节型数值来完成。

可用TV和TVScl两个IDL命令中的任一个来显示图像。

这两个命令几乎在各个方面都是一样的,包括能与之一起使用的关键字。

仅仅在一个方面不同:TVScl将图像数据调整为与IDL运行时所用颜色数目相适应的字节型数值。

注意,与Plot,Surface和Contour命令不同,TV和TVScl命令在显示图像之前不删除窗口中已显示的内容。

一般情况下这个问题影响不大,但有时候也会产生一些麻烦。

如果想要一个空白的显示窗口来显示图像数据,无论当前窗口上的显示内容是什么,都可用一个简单的命令Erase来删除。

IDL>Erase要了解这两个命令是怎样工作的,需要有一些图像数据用于处理。

用命令LoadData来打开图像数据集Ali and Dave。

将要处理这两幅图像数据中的第二幅图像。

键入IDL>image=LoadData(10)IDL>image=image[*,*,1]打开一个显示窗口,装上灰度颜色表, 用TV命令显示图像:IDL>Window,0,XSize=192,YSize=192IDL>TV,image所得图像:IDL和Research Systems公司的创始人--David Stern的图像。

People.dat数据集中的另外一幅图像是Ali Bahrami,Research Systems公司的第一位员工。

他们两人依然致力于IDL的开发因为使用的是TV命令,所以数据没有经过拉伸就被送到显示器中显示。

IDL入门教程一

IDL入门教程一

第一章起步篇 ........................................................................... 错误!未定义书签。

本章概述............................................... 错误!未定义书签。

书写本书的背景......................................... 错误!未定义书签。

运用本书ﻩ错误!未定义书签。

IDL所需的版本ﻩ错误!未定义书签。

IDL运行期间所需颜色的数量................................. 错误!未定义书签。

本书的风格习惯............................................... 错误!未定义书签。

本书中所用的IDL程序和数据文件ﻩ错误!未定义书签。

获取更多的帮助............................................... 错误!未定义书签。

使用IDL命令.......................................... 错误!未定义书签。

IDL命令解析ﻩ错误!未定义书签。

创建变量ﻩ错误!未定义书签。

使用IDL图形窗口ﻩ错误!未定义书签。

第二章简单的图形显示ﻩ错误!未定义书签。

本章概述............................................... 错误!未定义书签。

IDL中简单的图形显示.................................... 错误!未定义书签。

创建线画图ﻩ错误!未定义书签。

定制线画图............................................. 错误!未定义书签。

改变线条的线型和粗细ﻩ错误!未定义书签。

用符号代替线条显示数据....................................... 错误!未定义书签。

idl用法

idl用法

IDL(Interactive Data Language)是一种用于数据分析、可视化和跨平台应用程序开发的编程语言。

IDL可以用于处理各种类型的数据,包括数字、文本、图像、视频等。

IDL的用法包括以下方面:
1. 编写IDL脚本:IDL脚本是一系列IDL命令和函数的集合,可以按照需要执行一系列操作,例如读取数据、处理数据、绘制图形等。

2. 运行IDL脚本:通过IDL解释器或编译器运行IDL脚本,执行脚本中的命令和函数。

3. 交互式环境:IDL提供了一个交互式环境,可以在其中直接输入命令和函数,执行操作并查看结果。

4. 跨平台应用程序开发:IDL可以用于开发跨平台的应用程序,例如在Windows、Linux和Mac OS X等操作系统上运行的应用程序。

5. 数据分析和可视化:IDL可以用于对数据进行各种分析和可视化操作,例如绘制图形、制作动画、统计分析等。

6. 外部库支持:IDL可以调用外部库中的函数和算法,扩展其功能和性能。

总之,IDL是一种功能强大的编程语言,可以用于各种数据分析和可视化任务,以及跨平台应用程序的开发。

IDL入门教程二上简单图形显示II

IDL入门教程二上简单图形显示II

第二章简单的图形显示本章概述科学分析最基本的能力就是以简单的线画图、等值线图和曲面图来显示所研究的数据。

在这一章中,将知道用这些方式来显示数据是多么容易。

也将学会用系统变量和关键字来定位和标注简单的图形显示。

将学会如下几点:1.如何用Plot命令将数据显示为线画图。

2.如何用Surface和Shade_Surf命令将数据显示为曲面图。

3.如何用Contour命令将数据显示为等值线图。

4.如何在显示窗口上定位显示图形。

5.如何用公共关键字来标注和自定义图形显示。

IDL中简单的图形显示IDL中一个简单的图形显示可认为是栅格图形的一个实例。

也就是说,可用Plot, Contour或者Surface命令通过一种算法来点亮显示窗口内相应的像素点而形成栅格图形。

这种栅格图形没有永久性。

换言之,一旦IDL显示图形和点亮相应的像素点后,IDL就不知道自己做了些什么。

这意味着,在用户重置图形窗口大小时,IDL无法进行相应的响应。

总之,在这种模式下图形显示不能被刷新,除非再次输入图形命令。

但是,栅格图形命令在IDL中被广泛应用,因为它们简单快捷。

而且,将看到,如果仔细地用栅格图形命令编写IDL程序时,可以克服许多与栅格图形命令相关的限制。

本章将介绍一些关于如何用栅格图形命令写出可调节尺寸的IDL图形窗口或进行直接硬拷贝输出的必备概念。

本章的图形命令都是Research Systems公司所说的直接图形。

另外一种被Research Systems公司称为对象图形的图形方式在IDL5.0中被引入。

对象图形使用时相对难一点,但它在IDL编程方面更强大更灵活。

对象图形不是为了在命令行使用而开发的,而是用在IDL的程序中,特别是用于带有界面的程序中(带有图形用户界面的程序)。

本书对对象图形不做介绍。

创建线画图生成线画图最简单的方法是绘出一个矢量。

可以用LoadData命令打开时序数据集。

LoadData命令是本书所带的一个IDL程序(详细细节参考第5页的“本书中所用的IDL程序和数据文件”)。

02-ENVI与SARscape基础

02-ENVI与SARscape基础
ENVI与SARSCAPE图像处理基础
技术支持邮箱:ENVI-IDL@ 技术支持热线:400-819-2881-7 /enviidl
主要内容
• 1、ENVI简介 • 2、ENVI图像处理基础 • 3、SARscape基础
1、ENVI简介——可利用资源
• • • • • • • 技术支持邮箱:ENVI-IDL@ 技术支持热线:400-819-2881-7 ENVI/IDL技术殿堂:/enviidl ENVI/IDL论坛社区:/esri ENVI/IDL视频:/ENVIIDL中国 ENVI/IDL微博:/enviidl ENVI/IDL美国官方网站:
大气校正后
大气校正前
1、ENVI简介——面向对象的特征提取模 块
提供面向对象、易于使用的向导操作流程从高分辨率全色和多光 谱数据中提取地物信息。包括: • 交通工具
– 飞机, 坦克, 汽车, 船只
• 建筑物
– 建筑物轮廓, 屋顶
• 基础设施
– 道路, 桥梁, 机场, 海港码头
• 自然要素
– 河流, 湖泊,森林, 田地
2、ENVI影像处理基础
2、ENVI影像处理基础——ENVI5目录结构
• • • • • • • • • Bin:相应的ENVI运行目录。 Classic:ENVI经典模式安装路径。 Custom_code:自定义代码 Data:ENVI自带数据目录。 Extensions:客户自主开发的、可执行程序,比如各种补 丁程序。 Gptools:GP工具箱文件。 Help:ENVI的帮助文档。 Resource:ENVI资源文件夹,包含图标文件、语言配置文 件、波谱库等。 Save:软件框架库
Washington Switzerland France United Kingdom Italia Asia Pacific

IDL语言简明教程

IDL语言简明教程

IDL语言简明教程IDL(Interactive Data Language)是一种用于科学数据分析和可视化的专业编程语言,具有广泛的应用领域,包括天文学、地球物理学、气象学、生物学等。

IDL具有易于学习和使用的特点,本文将为您提供一个简明教程,帮助您快速入门IDL语言。

第一部分:IDL基础1.变量和数据类型-变量用于在内存中存储数据,可以用字母、数字和下划线命名,并区分大小写。

- 常见的数据类型包括整数(int)、浮点数(float/double)、字符串(string)和数组(array)。

2.数组和矩阵运算-数组是IDL中最常用的数据结构,可以存储一维或多维的数据。

-可以使用运算符进行数组的加减乘除运算,或进行矩阵运算。

-数组的索引从0开始,可以使用方括号指定索引值。

3.控制流语句- 控制流语句用于控制程序的执行流程,包括条件语句(if-else)和循环语句(for、while等)。

-条件语句根据条件的真假执行相应的代码块。

-循环语句用于重复执行一段代码,可以指定循环的次数或根据条件判断是否继续循环。

第二部分:IDL数据处理1.数据输入和输出- 使用read_*函数可以从文件中读取数据,如read_ascii、read_binary等。

- 使用write_*函数可以将数据写入文件,如write_ascii、write_binary等。

-IDL还提供了图形界面,可以通过鼠标交互进行数据的选择和操作。

2.数据处理函数-IDL提供了丰富的数据处理函数,用于对数据进行统计分析、滤波、插值等操作。

- 常见的函数包括mean、median、filter、interpolate等,可以根据具体需求选择函数进行数据处理。

3.图像处理和可视化-IDL可以进行图像处理和可视化,包括图像读取、显示、增强和保存等操作。

- 使用image_read函数可以读取图片文件,使用tv函数可以显示图像。

- IDL还提供了绘制2D和3D图形的函数,如plot、contour、surface等,可以将数据可视化。

数字图像处理二值图像处理PPT课件

数字图像处理二值图像处理PPT课件
图6-8 曲线的链码表示
第14页/共57页
(d) 边界的8链码表
•链 码 的 表 示 方 法 具 有 下 面 一 些 有 趣 的 特 性 : • ① 如果曲线上的像素数目为N,那么链码的长度则为N-1; • ② 链码是和起点相关的,不同的起点可以得到不同的链码表示。 • ③ 链码具有平移的不变性,也就是说曲线的位置变动不改变其链码结构; • ④ 曲线的旋转将使得得到的链码中的每个元素分量增加相同的数值。
• 对于离散的的数字图像f(i,j),矩定义为:
• 对于二值图像,在目标区域R有f(i,j)=1,背景区域f(i,j)=0,因此:
M 1 N 1
mpq
i p j q f (i, j) p, q 0,1,2
i0 j0
mpq
ip jq
(i, j)R
第22页/共57页
• 同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m00为目标区域的面 积,也即区域中包含的点数;假设
• ② 对称性:

• ③ 三角不等式:
d(A, B) 0
d(A, B) d(B, A) d(A,C) d(A, B) d(B,C)
第2页/共57页
•假 设 计 算 点 P ( a , b ) 与 Q ( c , d ) 间 距 离 可 以 采 取 下 面 的 几 种 定 义 形 式 :

① 欧几里德距离,用来De表示,如下式所示:
阶矩称为惯性矩。
•中心矩 :
pq (x x) p ( y y)q f (x, y)dxdy p, q 0,1,2
第21页/共57页
• 低阶矩主要描述区域的面积、转动惯量、质心等等,具有明显得几何意义,而高 阶矩一般主要描述区域的细节特征,比如三阶矩描述扭曲度,四阶矩描述峰值的状 态等等,一般来说高阶矩受到图像离散化等的影响,高阶矩一般在应用中不一定十 分准确。

IDL入门-基础语法与数据处理案例精解

IDL入门-基础语法与数据处理案例精解
最新版本:ENVI5.1+IDL8.3
7
三、IDL集成开发环境
菜单栏和 工具栏
工程窗口
输出日志窗口 变量查看窗口
8
命令行
多文档面板 状态栏
四、IDL应用程序基础
1. 变量
变量、语句不分大小写
strtemp =0 StrTemp =0
变量无需事先说明
IDL> i = 2 IDL> print,i 2
与C/C++不同!!!
9
2.基本数据类型
在数据类型的转换中,如果输出变量类型的字节数少于 输入变量类型的字节数,将会发生截断现象。
10
3.数组
1. IDL是面向矩阵的语言,几乎所有运算都可以
在数组上使用。
2. 数组元素的存储是按列进行的,与其它的语
言有区别。
3. 数组下标是从零开始的,如果某些下标超出
函数:与过程相似,但以function fnname开始,以end结束,并以 return语句返回一个IDL变量。以IDL->ret=fnname(para_list)方 式运行。 在IDL系统中,一个过程或函数即为一个新的IDL命令。
变量作用范围:批处理和主程序方式的变量为全局变量,可以在IDL 开发环境中使用。过程和函数的变量为局部变量,只在过程和 函数运行过程中有效。
17
参数传递
位置参数:在参数列表中按位置列出参数名,严格的顺序限制。通常 用于必选参数。
IDL 的指针与其他语言的指针有很大的不同,它不是指向存储的地址而仅仅是一 个轻型的指向一个堆变量的引用(指针变量)。堆变量可以动态分配(数据类型和数 组维数),这意味着传递指针变量就相当于传递动态数据。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DIP Lecture 2
1
Spatial Transformation
In a spatial transformation each point (x, y) of image A is mapped to a point (u, v) in a new coordinate system. u = f1(x, y) v = f2(x, y)
DIP Lecture 2 7
Transform Operations
The transformation matrices below can be used as building blocks. 1 0 x0 T = 0 1 y0 Translation by (x0, y0) 0 0 1 s1 0 0 Scale by s1 and s2 T = 0 s2 0 0 0 1 cos θ sin θ 0 T = sin θ cos θ 0 Rotate by θ 0 0 1 You will usually want to translate the center of the image to the origin of the coordinate system, do any rotations and scalings, and then translate it back.
DIP Lecture 2
6
Combinations of Transforms
Complex ane transforms can be constructed by a sequence of basic ane transforms. Transform combinations are most easily described in terms of matrix operations. To use matrix operations we introduce homogeneous coordinates. These enable all ane operations to be expressed as a matrix multiplication. Otherwise, translation is an exception. The ane equations are expressed as u a b c x v = d e f y 1 0 0 1 1 An equivalent expression using matrix notation is q = Tp where q, T and q are the dened above.
cos θ sin θ 0 s0 0 0 1 0 x0 H = RST = sin θ cos θ 0 0 s1 0 0 1 x1 0 0 1 0 0 1 0 0 1 = s0 cos θ s1 sin θ s0x0 cos θ + s1x1 sin θ s0 sin θ s1 cos θ s1x1 cos θ s0x0 sin θ
Image A
Image B
DIP Lecture 2
12
Point Matching
Find a number of points {p0, p1, . . . , pn1} in image A that match points {q0, q1, . . . , qn1} in image B. Use the homogeneous coordinate representation of each point as a column in matrices P and Q: x0 x1 . . . P = y0 y1 . . . 1 1 ... u0 u1 . . . Q = v0 v1 . . . 1 1 ... Then q = Hp becomes Q = HP The solution for H that provides the minimum mean-squared error is H = QPT (PPT )1 = QP where P = PT (PPT )1 is the (right) pseudo-inverse of P.
c13 and c23 aect translations, c11 and c22 aect magnications, and the combination aects rotations and shears.
DIP Lecture 2
3
Ane Transformation
A shear in the x direction is produced by u = x + 0.2y v=y
DIP Lecture 2
8
Combined Transform Operations
Operation Translate to Origin Expression 1.00 0.00 5.00 T1 = 0.00 1.00 5.00 0.00 0.00 1.00 0.92 0.39 0.00 T2 = 0.39 0.92 0.00 0.00 0.00 1.00 Result
Mapping from (x, y) to (u, v) coordinates. A digital image array has an implicit grid that is mapped to discrete points in the new domain. These points may not fall on grid points in the new domain.
DIP Lecture 2 2
Ane Transformation
An ane transformation is any transformation that preserves collinearity (i.e., all points lying on a line initially still lie on a line after transformation) and ratios of distances (e.g., the midpoint of a line segment remains the midpoint after transformation). In general, an ane transformation is a composition of rotations, translations, magnications, and shears. u = c11x + c12y + c13 v = c21x + c22y + c23
Lecture 2: Geometric Image Transformations
Harvey Rhody Chester F. Carlson Center for Imaging Science Rochester Institute of Technology rhody@ September 8, 2005 Abstract Geometric transformations are widely used for image registration and the removal of geometric distortion. Common applications include construction of mosaics, geographical mapping, stereo and video.
1 . . . 1 un1 vn1 = q0 q1 . . . 1
pn1
qn1
Point Matching
The transformation used in the previous example can be found from a few matching points chosen randomly in each image.
Rotate by 23 degrees
Translate to original location
1.00 0.00 5.00 T3 = 0.00 1.00 5.00 0.00 0.00 1.00
DIP Lecture 2
9
Composite Ane Transformation
The transformation matrix of a sequence of ane transformations, say T1 then T2 then T3 is T = T3T2T3 The composite transformation for the example above is 0.92 0.39 1.56 T = T3T2T1 = 0.39 0.92 2.35 0.00 0.00 1.00 Any combination of ane transformations formed in this way is an ane transformation. The inverse transform is T1 = T1T1T1 1 2 3 If we nd the transform in one direction, we can invert it to go the other way.
DIP Lecture 2
Spatial Transformations of Images
A spatial transformation of an image is a geometric transformation of the image coordinate system. It is often necessary to perform a spatial transformation to: Align images that were taken at dierent times or with dierent sensors Correct images for lens distortion Correct eects of camera orientation Image morphing or other special eects
相关文档
最新文档