常用ENVI函数介绍
常用的影像文件操作函数介绍
打开外部文件格式 ENVI_OPEN_DATA_FILE: 该函数打开ENVI ENVI所支持的 ENVI_OPEN_DATA_FILE: 该函数打开ENVI所支持的 外部文件( ENVI头文件 并返回FID 头文件) 外部文件(无ENVI头文件)并返回FID 获取数据 ENVI_GET_DATA: ENVI_GET_DATA:该函数从一个打开的文件中获取影 像数据。它每次只返回某一波段的数据,数据的范围由 像数据。它每次只返回某一波段的数据, DIMS关键字控制 关键字控制。 DIMS关键字控制。 ENVI_GET_SLICE: ENVI_GET_SLICE:该函数从一个打开的文件中获取 波谱影像数据,它返回影像某一行所有波段的数据值。 波谱影像数据,它返回影像某一行所有波段的数据值。 结果以BIP BIL的格式返回 BIP或 结果以BIP或BIL的格式返回
DIMS DIMS关键字是一个5个元素长整型数组。它定义了处理数据的空间子集。 DIMS关键字是一个 个元素长整型数组。它定义了处理数据的空间子集。 关键字是一个5 当需要确定FID的时候,必须同时确定该文件的空间范围。 FID的时候 当需要确定FID的时候,必须同时确定该文件的空间范围。 DIMS[0] 存储一个打开的ROI区域的指针,仅在ROI被定义的时候使用, 存储一个打开的ROI区域的指针,仅在ROI被定义的时候使用, ROI区域的指针 ROI被定义的时候使用 其它时候设为其它时候设为-1L DIMS[1] 采样的起始位置 Sample start DIMS[2] 采样的终止位置 Sample end DIMS[3] 行的起始位置 Line start DIMS[4] 行的结束位置 Line end POS POS关键字定义了用于处理的波段位置,是一个变长的长整型数组。 POS关键字定义了用于处理的波段位置 是一个变长的长整型数组。 关键字定义了用于处理的波段位置, 波段从0开始,例如,要处理第三波段和第四波段,POS=[2,3] 波段从0开始,例如,要处理第三波段和第四波段,
envi提取特征波段
envi提取特征波段ENVI(Environment for Visualizing Images)是一种用于处理和分析遥感数据的软件。
在ENVI中,可以使用不同的方法来提取特征波段,具体取决于你需要提取的特定特征。
以下是一些常用的特征波段提取方法:1. 主成分分析(Principal Component Analysis,PCA):PCA是一种常见的特征提取方法,它通过获取输入影像中的主要变化模式,将多个波段的信息压缩到较少的几个波段中。
在ENVI中,可以使用`ENVIPCA`函数进行PCA分析。
2. 比值(Ratioing):比值方法通过计算两个或多个波段之间的比值来提取特定的地物信息,例如NDVI(Normalized Difference Vegetation Index,归一化植被指数)。
在ENVI中,可以使用`ENVIRatioVegetationIndex`函数来计算NDVI等比值指数。
3. 指数(Indexing):指数方法根据特定物质对不同波长的反射或吸收特性,计算一个组合指数来提取特定特征。
例如,NDWI(Normalized Difference Water Index,归一化水体指数)可以用于提取水体信息。
ENVI中可以使用`ENVIWaterDetectionIndices`函数计算水体指数。
4. 归一化(Normalization):归一化方法将波段的原始值转换为归一化的范围,以减少不同波段之间的亮度差异。
这可以有助于更好地比较不同波段的特征。
在ENVI中,可以使用`ENVINormalizeRaster`函数来进行归一化处理。
这只是提取特征波段的一些常见方法,根据具体应用场景和数据类型,还可能会有其他方法适用。
建议参考ENVI的官方文档或用户手册,了解更多关于特征波段提取的详细信息和示例。
ENVI--band-math-波段运算
ENVI下实用的波段运算(bandmath)工具ENVI Band Math是一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。
由于每个用户都有独特的需求,利用此工具用户自己定义处理算法,应用到在ENVI打开的波段或整个图像中,用户可以根据需要自定义简单或复杂的处理程序。
例如:可以对图像进行简单加、减、乘、除运算,或使用IDL编写更复杂的处理运算功能。
波段运算实质是对每个像素点对应的像素值进行数学运算。
如图15.1为一个简单波段运算的示意图,运算表达式是三个变量相加,每一个变量对应于一个图像数据,对这三个图像数据求和并输出结果图像。
表达式中的每个变量不仅可以对应于单一波段,也可以是一个多波段的栅格文件。
例如:在表达式b1+b2+b3中,如果b1是一个多波段图像文件,b2、b3为单一波段,则结果为b1所对应的文件的所有波段分别和b2、b3进行求和。
图15.1 波段运算示意图Band Math工具下面以求三个图像数据的和为例介绍Band Math工具的使用。
在使用Band Math之前需要将图像数据打开。
(1)在ENVI主菜单中,选择Basic Tools → Band Math,打开Band Math 对话框(图15.2)。
(2)运算表达式输入框(Enter an expression):b1+b2+b3(3)单击OK按钮,打开Variables to Bands Pairings对话框(图15.3),为运算表达式中各个变量赋图像文件或者图像波段。
(4)在Variables to Bands Pairings对话框中,Variables used in expression列表框中选择变量b1,单击Map variable to Input file按钮,为变量b1指定一个多波段图像文件(注:一旦第一个波段或文件被选中,只有那些具有相同行列数的波段被显示在波段列表中。
)。
常用ENVI函数介绍
常用ENVI函数功能介绍1、文件管理ENVI文件处理函数为程序员提供了相当大的灵活性。
有以下的函数可供编程使用,用户可以根据所需的情况选择所需的函数。
ENVI_PICKFILEENVI_PICKFILE函数产生一个提示用户选择文件的对话框。
该函数产生的界面和使用ENVI主菜单选择File->Open Image File一样的界面。
该函数并不真正的打开文件,它只是以字符串的形式返回用户所选择的全路径文件名。
ENVI_SELECTENVI_SELECT产生对话框提示用户从ENVI中已经打开的文件中选择一个文件。
该函数产生ENVI标准的文件选择对话框,其中包括空间和波谱子区裁剪按钮,以及掩模波段选取按钮。
该函数也集成了ENVI_PICKFILE的功能,在对话框上提供了文件打开按钮,用户可以通过该按钮打开新的ENVI文件。
ENVI_SELECT不仅返回用户所选择文件的FID,还可以返回进一步处理所需的DIMS和POS关键字值ENVI_OPEN_FILE该函数返回一个文件的FID,它是打开ENVI文件的最直接和简单的方法。
默认情况下它将文件信息添加到可用波段列表中,可以使用NO_REALIZE可以阻止文件信息加入到可用波段列表中。
注:如果可用波段列表已打开,该关键字无效。
ENVI_FILE_MNG该函数可以打开、关闭或者删除硬盘上的文件。
无需用户交互。
ENVI_GET_FILE_IDS该函数返回所有当前打开的文件的FID。
2、打开外部文件格式ENVI能够读取相当广泛的数据格式,虽然ENVI_OPEN_FILE仅能够打开具有ENVI 头文件的影像文件。
ENVI也提供了一些特定的处理程序能够打开和返回外部格式的文件:ENVI_OPEN_DATA_FILE该函数打开ENVI所支持的外部文件(通过关键字指定文件类型)并返回FID,无需用户交互。
3、获取数据当影像文件非常大时,不适合使用IDL的READU命令将它全部读入到内存中。
envi 用法
envi 用法Envi是一种多功能的语言编程环境,可以用于开发和执行不同类型的程序。
它提供了一组丰富的工具和函数,可以帮助开发人员在编写代码时快速、高效地完成任务。
本文将介绍一些常见的Envi用法,以帮助读者更好地了解和使用这个编程环境。
首先,Envi提供了许多内置函数,可以帮助开发人员处理各种数据类型和运算。
例如,通过使用Envi的数学函数,开发人员可以进行数值计算、求解方程、矩阵运算等。
此外,Envi还提供了用于处理字符串、日期、时间等数据的内置函数,使开发人员能够在编写代码时更容易地操作和处理这些数据。
其次,Envi还支持模块化编程,开发人员可以将代码组织成模块,以便重复使用和维护。
Envi的模块化编程功能允许开发人员将代码分隔成多个文件,并通过导入和调用函数来实现代码的重用。
这极大地提高了代码的可维护性和可重用性,让开发人员能够更加高效地开发和维护复杂的程序。
此外,Envi还支持图形化用户界面(GUI)开发,可以帮助开发人员创建交互式和用户友好的应用程序。
通过使用Envi的图形化界面工具包,开发人员可以设计和创建各种界面元素,如按钮、文本框、下拉菜单等,以实现与用户的交互。
这使得开发人员能够快速构建功能强大且易于使用的应用程序,提供更好的用户体验。
最后,Envi还提供了强大的调试工具,帮助开发人员识别和修复代码中的错误。
Envi的调试器允许开发人员逐行执行代码,并在执行过程中检查变量的值和代码的执行路径。
这有助于开发人员快速定位问题所在,并提供了一种有效的调试方法。
总结来说,Envi是一个强大的语言编程环境,可以帮助开发人员开发各种类型的程序。
无论是数值计算、数据处理、GUI开发还是代码调试,Envi都提供了丰富的工具和函数,使开发人员能够更高效地完成任务。
希望本文介绍的Envi用法对读者有所帮助。
常用ENVI函数介绍
常用ENVI函数介绍ENVI(环境画像图像分析软件)是一种用于处理和分析遥感图像数据的软件工具。
它提供了丰富的函数库,可以帮助用户进行图像处理、特征提取、分类、变化检测等工作。
下面是一些常用的ENVI函数介绍。
1. OpenFileRaster: 这个函数用于打开一个遥感图像文件,并将其加载到ENVI中进行处理。
用户可以指定图像的文件路径和格式。
2. Stretch: 这个函数用于图像的显示和增强。
它可以根据图像的直方图分布,对图像进行线性拉伸或非线性拉伸,从而增加图像的对比度和清晰度。
3. Clip: 这个函数用于裁剪图像。
用户可以通过指定裁剪区域的范围或通过绘制裁剪区域的多边形,来选择感兴趣的区域进行分析。
4. PanSharpen: 这个函数用于将低分辨率的多光谱图像和高分辨率的全色图像进行融合,生成一幅具有高空间分辨率和高光谱信息的图像。
5. BandMath: 这个函数用于进行波段数学操作。
用户可以利用该函数对图像的不同波段进行加减乘除、逻辑运算等操作,从而得到新的图像表达式。
6. HistogramMatch: 这个函数用于直方图匹配。
用户可以通过指定目标图像的直方图和源图像的直方图,将源图像的像素值匹配到目标图像的直方图分布,从而使得两幅图像的直方图更加接近。
7. SpatialFilter: 这个函数用于进行空间滤波操作。
用户可以选择不同的空间滤波算子,对图像进行平滑、锐化、边缘检测等操作。
8.NDVI:这个函数用于计算归一化植被指数(NDVI),从而评估地表植被的健康程度。
NDVI的计算公式是(近红外波段-红色波段)/(近红外波段+红色波段)。
9. KMeans: 这个函数用于进行聚类分析。
用户可以选择不同的聚类算法和聚类数量,对图像进行分割,从而得到不同的地物类别。
10. ObjectDetection: 这个函数用于进行目标检测。
用户可以选择不同的目标检测算法和参数,对图像中的目标进行检测和识别。
envi svm 参数
envi svm 参数在ENVI中,SVM参数设置主要包括以下几个方面:1.核函数(Kernel):SVM通过核函数将输入数据从低维空间映射到高维空间,以便更好地进行线性或非线性分类。
常见的核函数有线性核函数、多项式核函数和径向基函数(RBF)等。
不同的核函数对应不同的特征映射方式,因此选择合适的核函数对分类结果至关重要。
2.C值:C值是SVM中一个重要的正则化参数,控制了错误样本对模型损失函数的惩罚程度。
较小的C值会使得模型更容忍误分类样本,并生成更大的决策边界;较大的C值则会强制模型更加关注每个样本的分类准确性。
根据具体问题的复杂程度和数据噪声情况,需要适当调整C值以平衡分类错误和过拟合之间的关系。
3.Gamma值:这个参数控制了样本错误与分类刚性延伸之间的平衡,默认值是100。
4.Pyramid Levels:设置分级处理等级,用于SVM训练和分类处理过程。
此外,在SVM参数设置面板中,还有以下选项:Kernel Type:下拉列表里选项有Linear,Polynomial,Radial Basis Function,以及Sigmoid。
如果选择Polynomial,还需要设置一个核心多项式的次数用于SVM。
如果选择Polynomial、Radial Basis Function、Sigmoid,需要设置Gamma in Kernel Function参数。
Support Vector Regression(SVR):支持向量回归,用于构建回归模型。
One-Class SVM(OCSVM):用于进行异常检测和一分类问题。
在使用这些参数时,可能需要根据具体的数据和问题来调整和优化参数设置,以获得最佳的分类效果。
ENVI函数列表
二次开发模式函数名称功能描述ENVI在二次开发模式下恢复ENVI运行的基础库函数(.sav);IDL命令行下运行此命令可启动ENVI。
ENVI_BATCH_EXIT 退出ENVI的二次开发模式。
ENVI_BATCH_INIT 初始化ENVI的二次开发模式。
ENVI_BATCH_STATUS_WINDOW 启用或禁止ENVI的状态信息窗体。
文件信息查询函数名称功能描述ENVI_FILE_QUERY 查询数据文件信息。
ENVI_FILE_TYPE 文件类型代码与描述之间进行转换。
ENVI_SENSOR_TYPE 对传感器类型代码和名字直接进行转换。
ENVI_SET_INHERITANCE 获得ENVI的继承结构。
文件打开和管理函数名称功能描述ENVI_FILE_MNG 关闭或删除文件。
ENVI_GET_FILE_IDS 获取已经打开文件的ID。
ENVI_GET_PATH 获取当前ENVI安装的绝对路径。
ENVI_OPEN_DATA_FILE 打开非ENVI标准格式文件。
ENVI_OPEN_FILE 打开ENVI支持的文件格式。
ENVI_SELECT 选择文件和波段的对话框组件。
文件输出函数名称功能描述CF_DOIT 将波段列表中的文件存储为文件或到内存.ENVI_ENTER_DATA 将一幅影像按照ENVI文件方式存储到内存中。
ENVI_OUTPUT_TO_EXTERNAL_FORMAT 影像数据输出为特定格式。
ENVI_OUTPUT_TO_GDB 影像数据输出为一个文件或GDB。
ENVI_SETUP_HEAD 写出ENVI头文件(hdr)。
SLICE_DOIT 输出影像的水平或垂直切片数据到文件中。
数据读取(不分块)函数名称功能描述ENVI_GET_DATA 从文件中读取数据。
ENVI_GET_IMAGE 获取显示窗体中的数据。
ENVI FX4.6操作说明
ENVI FX操作说明ENVI FX的操作可分为两个部分:发现对象(Find Object)和特征提取(Extract features),如图1所示。
图1 FX操作流程示意图(红色字体为可选项)1、准备工作根据数据源和特征提取类型等情况,可以有选择的对数据做一些预处理工作。
●空间分辨率的调整如果您的数据空间分辨率非常高,覆盖范围非常大,而提取的特征地物面积较大(如云、大片林地等)。
可以降低分辨率,提供精度和运算速度。
可利用ENVI主界面->Basic Tool->Resize Data工具实现。
●光谱分辨率的调整如果您处理的是高光谱数据,可以将不用的波段除去。
可利用ENVI主界面->Basic Tool->layer stacking工具实现。
●多源数据组合当您有其他辅助数据时候,可以将这些数据和待处理数据组合成新的多波段数据文件,这些辅助数据可以是DEM, lidar 影像, 和SAR 影像。
当计算对象属性时候,会生成这些辅助数据的属性信息,可以提高信息提取精度。
可利用ENVI主界面->Basic Tool->layer stacking工具实现。
●空间滤波如果您的数据包含一些噪声,可以选择ENVI的滤波功能做一些预处理。
2、发现对象(一)打开数据在ENVI Zoom中打开Processing > Feature Extraction。
如图2所示,Base Image 必须要选择,辅助数据(Ancillary Data)和掩膜文件(Mask File)是可选。
这里选择ENVI 自带数据envidata\feature_extraction \ qb_colorado,它是0.6米的快鸟数据,作为Base Image特征提取数据,不增加辅助数据和掩膜文件。
图2 选择数据(二)影像分割FX根据临近像素亮度、纹理、颜色等对影像进行分割,它使用了一种基于边缘的分割算法,这种算法计算很快,并且只需一个输入参数,就能产生多尺度分割结果。
波段运算的envi说明
ENVI下的波段运算ENVI下的波段运算功能波段运算(Band Math)Band Math 功能为用户提供一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。
该功能的能力与IDL 语言的能力直接相关。
本实习用到的波段运算函数如下:一些可用的波段运算函数。
Band Math 对话框1. 选择Basic Tools > Band Math.将出现Band Math 对话框。
假如运算结果是一个二维数组,它将接受任何有效的IDL 数学表达式、函数或程序。
2. 在标签为“Enter an expression:”的文本框内,输入变量名(将被赋值到整个图像波段或可能应用到一个多波段文件中的每个波段)和所需要的数学运算符。
变量名必须以字符“b”或“B”开头,后面跟着5 个以内的数字字符。
实例:若你想计算三个波段的平均值,数学方程式:(float(b1)+float(b2)+float(b3))/3.0可以输入到文本框中。
该表达式中使用的三个变量,“b1”是第一个变量,“b2”是第二个变量,“b3”是第三个变量。
注意,在本例中,IDL 的浮点型函数用来防止计算时出现字节溢出错误。
3. 一旦一个有效的表达式被输入,点击“OK”处理。
将出现Variable/Band Name Pairings 对话框,将各变量匹配相应波段。
注意:1、要重新使用、保存或取消任何以前应用的数学表达式:点击显示在“Previous Expression:”列表中的任何表达式,把它导入到“Enter an expression:”文本区中。
一旦被导入,点击“OK”,把该表达式应用到一组新的波段。
将出现Variable/Band Name Pairings 对话框。
请见下列的详细向导。
2 要把表达式保存到一个输出文件,点击“Save”,然后当出现Enter Output Filename 对话框时,键入输出文件名。
大话IDL编程之函数功能调用(envi_doit、ENVIRaster、ENVITask)
⼤话IDL编程之函数功能调⽤(envi_doit、ENVIRaster、ENVITask) 2020年2⽉1⽇。
好长时间没更新博客,还真有点不习惯。
受新型冠性病毒的影响,平时街上熙熙攘攘的⼈流了⽆踪影,2020的春节竟然来的如此冷清。
为响应“呆在家⾥就是做贡献的号召”,在家⼀宅就是⼗多天。
闲来⽆事,就总结⼀下ENVI-IDL⼆次开发的学习经验吧。
ENVI⼆次开发主要有两种编程⽅式:IDL⼆次开发、ENVI-IDL交互式开发。
其中,IDL⼆次开发⽅式较为繁琐,但是也的确算是基本功,需要熟练掌握。
⽽ENVI-IDL交互开发的⽅式简洁⾼效,是现在的主流开发⽅式。
其中,对于某些功能函数,ENVI已经给出了新的调⽤⽅法。
即envi_doit、ENVIRaster虚拟栅格、ENVITask这三种⽅法。
其中虚拟栅格的⽅法将数据在内存中运⾏,运⾏完之后释放。
⽽ENVITASK也同样简洁⾼效、易懂。
⾸先讲ENVITask的实现⽅式(这⾥以ENVIRadiometricCalibration为例)e = ENVI()file = 'a.dat'raster = e.OpenRaster(file)Task = ENVITask('RadiometricCalibration')Task.INPUT_RASTER = rasterTask.OUTPUT_TYPE = 'Double'Task.OUTPUT_RASTER_UI = 'C:/a.dat' ;第⼀种保存⽅法,设置输出路径,保存数据Task.Execute;第⼆种ENVITask的⽂件保存⽅式outputRaster = TASK.OUTPUT_RASTERoutputRaster.export, 'C:/a.dat', 'envi'⼀般来说,ENVITask⽅法只要设置好该⽅法的输⼊输出,就可以得到结果,较为⽅便。
ENVI二次开发函数名称
快速傅立叶滤波。
ENVI_FX_DOIT
ENVI的面向对象特征提取,必须安装ENVI和ENVI EX并授权。
ENVI_GEOREF_FROM_GLT_DOIT
对影像进行GLT几何校正。
ENVI_GET_CONFIGURATION_VALUES
获取ENVI当前配置文件中的参数信息。
执行影像的匹配滤波。
MATCH_FILTER_MT_DOIT
Perform Mixture Tuned Matched Filtering (MTMF).
MATH_DOIT
执行波段运算功能。
MNF_DOIT
执行最小噪声分离转变换功能。
MNF_INV_DOIT
执行最小噪声分离的逆变换。
MORPH_DOIT
GEN_IMAGE_DOIT
生成测试影像。
HANDLE_VALUE
获取和设置当前数据值。
HIST_EXPORT_DOIT
Output images using an applied lookup table (LUT).
MAGIC_MEM_CHECK
必要的时候为内存中的函数清理内存。
MATCH_FILTER_DOIT
DESKEW_DOIT
消除地球旋转引起的倾斜。
DESTRIPE_DOIT
影像数据的条带去除。
DISP_OUT_IMG
输出影像为Postscript文件。
ELINE_CAL_DOIT
经验线性定标工具。
EMITTANCE_CALC_DOIT
转换为发射率。
ENVI_ACE_DOIT
调用自适应想干估计的目标检测功能。
ENVI_REGISTER_DOIT
IDL调用ENVI中的一些函数(待完善)
IDL调用ENVI中的一些函数(待完善)
(1) ENVI_OPEN_FILE: 打开ENVI文件
(2) ENVI_FILE_QUERY : 该函数用来提取数据文件的一些信息,包括数据的行、列数,波段数,空间维数,文件名,数据格式等等
(3) ENVI_GET_DATA: 从打开的文件中提取空间影像数据,其中fid,dims,pos(选择的波段)这几个关键字是必需的。
(4) ENVI_GET_MAP_INFO: 获取所打开的影像的地理信息,一般在生成头文件是需要地理信息。
(5) ENVI_SETUP_HEAD: 为输出的影像建立头文件,此命令涉及的关键字比较多,需要查看帮助。
(5)ENVI_WRITE_ENVI_FILE: 可以将影像矩阵保存为ENVI格式的影像。
上述几个命令在IDL+ENVI处理影像时经常用到,本文整理的也并不全面,日后还会不断补充!各个命令更详细的用法请查看ENVI的help。
星图培训-IDLENVI二次开发基础部分笔记bysoe
星图培训-IDLENVI二次开发基础部分笔记bysoeIDL基础示例:\example\doc\Acticex:接口示例Image:可视化示例Etc类型转换:round(var) 四舍五入floor(var) 舍小数ceil(var) 入小数字符串转数字:数字直接转,非数字截断(后面的数也忽略,首字母非数字则报错)数组操作:Replicate(数值,D1,D2,…) 创建n维重复数值的数组# 数组乘(列乘行)## 矩阵乘(行乘列)Size(arr) 返回数组信息Rebin(arr,9) 调整数组大小为9个元素(线性内插方式),/sample 重复前个元素方式内插Congrid(arr,9) 按最近邻元素插值调整数组大小ENVI/IDL二次开发ENVI通用关键字FidR_fid 访问内存文件的唯一方法M_fid 掩膜文件DIMS 定义处理图像的范围[0] 存储一个打开的ROI区域的指针,仅在ROI被定义的时候使用,其它时候设为-1LPos 处理波段序号ENVI常用功能函数文件管理ENVI_PICKFILE:产生一个提示用户选择文件的对话框,并返回用户所选择的文件名ENVI_SELECT:产生对话框提示用户从ENVI中已经打开的文件中选择一个文件,并返回用户所选择文件的FID,该函数还可以返回DIMS和POS的值ENVI_OPEN_FILE:该函数返回一个文件的FID,并将文件信息添加到可用波段列表中ENVI_FILE_MNG:该函数可以打开、关闭或者删除硬盘上的文件。
无需用户干预ENVI_GET_FILE_IDS:该函数返回所有当前打开的文件的FID打开外部文件格式ENVI_OPEN_DATA_FILE:该函数打开ENVI所支持的外部文件(无ENVI头文件)并返回FID获取数据ENVI_GET_DATA:该函数从一个打开的文件中获取影像数据。
它每次只返回某一波段的数据,数据的范围由DIMS关键字控制。
envi傅里叶变换
envi傅里叶变换Envi傅里叶变换:从信号处理到图像处理傅里叶变换(Fourier Transform)是一种重要的信号处理方法,它能够将一个信号分解成一系列不同频率的正弦和余弦分量。
而Envi (Environment for Visualizing Images)作为一款强大的遥感图像处理软件,也广泛应用了傅里叶变换技术。
本文将介绍Envi中的傅里叶变换算法及其在图像处理中的应用。
我们来了解一下傅里叶变换的基本原理。
在信号处理中,傅里叶变换将一个连续的时间域信号转换为一个连续的频率域信号。
这个转换过程通过将信号分解为一系列频率不同的正弦和余弦函数来实现。
傅里叶变换可以将信号的频谱信息可视化,并用于分析信号的频率特性。
在Envi中,傅里叶变换可以帮助我们从遥感图像数据中提取出有用的频谱信息。
Envi中的傅里叶变换算法可以应用于不同类型的图像处理任务。
例如,在地理信息系统(GIS)中,我们经常需要对遥感图像进行分类和分析。
傅里叶变换可以将图像从空间域转换到频率域,这样可以更好地捕捉到图像中的纹理、形状和边缘特征。
通过傅里叶变换,我们可以提取出图像中不同频率的信息,从而实现图像的分割和分类。
傅里叶变换在Envi中还可以用于图像增强和滤波。
在图像增强中,我们可以通过傅里叶变换将图像转换到频率域,然后对频率域进行操作,最后再将图像转换回空间域。
这样可以实现对图像的锐化、平滑和去噪等处理。
而在图像滤波中,傅里叶变换可以用于设计和应用各种频率域滤波器,用于去除图像中的噪声和干扰。
除了在遥感图像处理中的应用,傅里叶变换在其他领域也有广泛的应用。
在音频处理中,傅里叶变换可以用于音频信号的频谱分析和音频效果的设计。
在通信系统中,傅里叶变换可以用于信号调制和解调,以及信道估计和均衡。
在医学影像处理中,傅里叶变换可以用于图像重建和滤波,以及功能磁共振成像(fMRI)和脑电图(EEG)等信号的分析。
傅里叶变换在Envi中的应用使得遥感图像处理更加有效和高效。
envi三阶微分
envi三阶微分摘要:1.引言2.envi 三阶微分的概念3.envi 三阶微分的应用4.envi 三阶微分的计算方法5.结论正文:1.引言在数学和物理学中,微分是一种常用的工具,它可以帮助我们了解函数在某一点的变化率。
其中,三阶微分是一种更高阶的微分,它能够描述函数在给定点的曲率和弯曲程度。
在环境科学中,envi(环境与遥感)领域也广泛应用了三阶微分。
本文将介绍envi 三阶微分的概念、应用和计算方法。
2.envi 三阶微分的概念envi 三阶微分指的是对环境变量(如温度、湿度、气压等)的三次微分。
具体来说,它包括了环境变量的一阶导数(即变化速率)、二阶导数(即变化加速度)和三阶导数(即变化的曲率)。
在envi 领域,三阶微分能够帮助我们更准确地预测环境变化,并为环境保护和治理提供科学依据。
3.envi 三阶微分的应用envi 三阶微分在环境科学中有着广泛的应用,包括以下几个方面:(1)气候变化研究:通过分析气候变量的三阶微分,可以更准确地预测气候变化对环境产生的影响,从而为应对全球气候变化提供科学依据。
(2)生态系统评估:envi 三阶微分可以用于评估生态系统的健康状况,比如通过分析植物生长速度、动物繁殖速率等环境变量的三阶微分,可以了解生态系统的稳定性和生物多样性。
(3)环境污染治理:envi 三阶微分可以用于评估污染物排放对环境的影响,以及预测污染物在环境中的扩散和变化。
这有助于制定更有效的污染治理措施。
4.envi 三阶微分的计算方法计算envi 三阶微分的方法通常包括以下几个步骤:(1)数据收集:首先需要收集环境变量的观测数据,包括温度、湿度、气压等。
(2)数据预处理:对收集到的数据进行质量检查和数据插补,以确保数据的完整性和准确性。
(3)计算一阶导数:对环境变量进行一次微分,得到其变化速率。
(4)计算二阶导数:对一阶导数进行二次微分,得到其变化加速度。
(5)计算三阶导数:对二阶导数进行三次微分,得到其变化的曲率。
envi 函数符
1.IDL语言特征在IDL中,矩阵是按照列的方式处理的,即矩阵是以n列、m行的方式表示的,这一点与Fortran语言一样,但与C语言(按m行、n列的维度来标记)表示矩阵的方式不同。
只有熟悉IDL的数据存储、处理的特点,才能方便地进行分析。
以300列、200行的遥感数据band1为例,其数据的记录特征如下:像元坐标亮度矩阵1,1 2,1 ...... 300,1 92 94 (90)1,2 2,2 ...... 300,2 96 92 (91)…… …… …… …… ……1,200 2,200 ...... 300,200 98 101 (90)IDL图形坐标band1 DN值坐标图1.IDL中像元坐标与亮度矩阵的对应关系(1)数据按列存储;最先存储的是第一列的数据(图象第一列的像元亮度值),接着是第二列,直至最后一列。
(show:print,data[0,*])(2)采用顺序显示数据的方式。
将第一行的亮度值按顺序从左到右以行的方式显示或存储,不管band1矩阵有多少行、多少列,总是先显示、存储完第一行,然后是下一行。
由于IDL的默认显示宽度是80列,所以在输出窗口中要用几行才能显示完矩阵的第一行亮度值。
然后另起一行显示亮度矩阵的下一行值,直到最后一行。
这一点对于图象显示和分析相当重要。
复习:IDL矩阵的显示方式,data(show:print,data[*,0])(3)默认情况下,图象数组的第一行和第一个元素显示在屏幕的左下角。
后面的行将从下往上显示。
在图形窗口显示图象时,图象的每一个元素在屏幕中显示为一个像素[1]。
在IDL中图象是从下往上画的。
即把band1亮度矩阵的第一行值显示在图象最下端的一行像元中,把band1亮度矩阵的最后一行值显示在图象最上端的一行像元中。
这是图象显示最重要的特征。
区别两幅图象的显示效果:(tvscl,data)与(tvscl,data,300,0,order=1)(4)矩阵转置与图象的关系将矩阵band1转置,(print,(transpose(data))[*,0]),打印转置矩阵的第一行,它在band1中是哪行或哪列?(print,transpose(data)tvscl,data,200,0,order=1结论:按行显示的数据DN,按列显示;按列显示的DN数据,按行显示2.遥感数据的处理与分析31通用的栅格数据存储格式BSQ :波段顺序存储格式。
envi代数运算
envi代数运算Envi代数运算Envi代数是一种用于解决环境科学和生态学问题的数学工具。
它基于代数运算和方程求解,能够在环境模型中进行变量推导、参数估计和模拟优化。
本文将介绍Envi代数运算的基本概念和应用案例,以帮助读者更好地理解和应用这一工具。
Envi代数运算的基本概念包括变量、常量、运算符和方程。
变量表示环境模型中的待求解量,可以是物理量、化学量或生物量等。
常量是模型中已知的固定值,常用于表示环境参数或初始条件。
运算符包括加减乘除、幂次方和函数等,用于描述变量之间的关系。
方程是由变量、常量和运算符组成的等式,用于表达环境模型的数学关系。
Envi代数运算的应用案例广泛,包括环境污染模拟、生态系统建模和资源管理等。
以环境污染模拟为例,假设我们需要评估一座工厂对周围土壤中有害物质的扩散影响。
我们可以建立一个Envi代数模型,将工厂排放物质的速率、风速、土壤吸附系数等变量作为模型的输入,通过代数运算求解土壤中有害物质的浓度分布。
通过调整模型中的参数,我们可以预测不同排放条件下的污染扩散情况,为环境管理和决策提供科学依据。
在Envi代数运算中,方程求解是一项重要的任务。
方程求解是通过将未知变量从方程中分离出来,得到其数值解或解析解的过程。
Envi代数提供了多种求解方法,包括代数消元法、数值迭代法和优化算法等。
通过这些方法,我们可以解决复杂的环境模型方程,得到准确的结果。
除了方程求解,Envi代数还支持变量推导和参数估计。
变量推导是通过已知变量和方程关系,推导出其他变量的值。
参数估计是通过已知数据和模型方程,估计模型中的未知参数值。
这些功能使得Envi代数在环境科学研究和工程应用中具有广泛的应用前景。
总结起来,Envi代数运算是一种用于解决环境科学和生态学问题的数学工具。
它基于代数运算和方程求解,能够在环境模型中进行变量推导、参数估计和模拟优化。
通过Envi代数运算,我们可以建立准确的环境模型,预测和评估环境变量的变化,为环境管理和决策提供科学依据。
ENVI简介与操作指导
灰度级窗效果示意图
原图
灰级窗
灰度级窗切片:只保留感兴趣的部分,其余部 分置为0
g
255
a
b
255
f
灰度级窗切片效果示意图
动态范围调整:
动态范围:是指图像中从暗到亮的变化范围
由于人眼所可以分辨的灰度的变化范围是有限的, 所以当动态范围太大时,很高的亮度值把暗区的 信号都掩盖了。
通过动态范围的压缩可以将所关心部分的灰度级 的变化范围扩大。 线性动态范围调整 非线性动态范围调整
影像的链接和叠加显示Tools/link
Overlay/contour lines等高线的绘制
DEM中 提取等高 线与影像 叠加
DEM中提取等高线
ENVI可用波段列表
ENVI可以访问影像文件,或者这些文件中 的单个波段。 可用波段列表是一个特殊的ENVI对话框, 它包含了所有被打开文件中可用的影像波 段,以及与此相关的地图信息列表。 使用可用波段列表可以把彩色和灰阶影像 加载到一个显示窗口中
更多信息提取的功能
FX(空间特征提取)
采用面向对象的提取方法,运用空间特征+纹理特征+波谱特 征来提取矢量信息; 采用流程化操作,易于使用、速度快; 可应用于各种不同的图像和特征 ENVI4.4之后正式发布
提取线状信息(道路、河流等)
能够提取影像中各种类型的地物
更加紧密与第三方软件整合
ENVI数据的输入与输出
ENVI是数据格式转换的很好工具
数据输入-支持丰富的数据格式
遥感数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用ENVI函数功能介绍
1、文件管理
ENVI文件处理函数为程序员提供了相当大的灵活性。
有以下的函数可供编程使用,用户可以根据所需的情况选择所需的函数。
ENVI_PICKFILE
ENVI_PICKFILE函数产生一个提示用户选择文件的对话框。
该函数产生的界面和使用ENVI主菜单选择File->Open Image File一样的界面。
该函数并不真正的打开文件,它只是以字符串的形式返回用户所选择的全路径文件名。
ENVI_SELECT
ENVI_SELECT产生对话框提示用户从ENVI中已经打开的文件中选择一个文件。
该函数产生ENVI标准的文件选择对话框,其中包括空间和波谱子区裁剪按钮,以及掩模波段选取按钮。
该函数也集成了ENVI_PICKFILE的功能,在对话框上提供了文件打开按钮,用户可以通过该按钮打开新的ENVI文件。
ENVI_SELECT不仅返回用户所选择文件的FID,还可以返回进一步处理所需的DIMS和POS关键字值
ENVI_OPEN_FILE
该函数返回一个文件的FID,它是打开ENVI文件的最直接和简单的方法。
默认情况下它将文件信息添加到可用波段列表中,可以使用NO_REALIZE可以阻止文件信息加入到可用波段列表中。
注:如果可用波段列表已打开,该关键字无效。
ENVI_FILE_MNG
该函数可以打开、关闭或者删除硬盘上的文件。
无需用户交互。
ENVI_GET_FILE_IDS
该函数返回所有当前打开的文件的FID。
2、打开外部文件格式
ENVI能够读取相当广泛的数据格式,虽然ENVI_OPEN_FILE仅能够打开具有ENVI 头文件的影像文件。
ENVI也提供了一些特定的处理程序能够打开和返回外部格式的文件:ENVI_OPEN_DATA_FILE
该函数打开ENVI所支持的外部文件(通过关键字指定文件类型)并返回FID,无需用户交互。
3、获取数据
当影像文件非常大时,不适合使用IDL的READU命令将它全部读入到内存中。
因此,ENVI提供了两个处理函数能够以小的、易管理的数据块方式读取影像数据。
这两个函数也提供了数据逻辑组织,一次一个波段或是一次光谱切片。
ENVI_GET_DATA
该函数从一个打开的文件中获取影像数据。
它每次只返回某一波段的数据。
如果所需的空间数据不止一个波段,必需多次调用该程序以获得该相应波段的数据。
数据的范围由DIMS关键字控制。
ENVI_GET_SLICE
该函数从一个打开的文件中获取波谱影像数据,它返回影像某一行所有波段的数据值。
结果以BIP或BIL的格式返回。
4、使用感兴趣区(ROI)进行空间选取
很多ENVI函数提供了使用ROI进行影像的空间选取选项。
在ENVI的函数中,DIMS 关键字用于定义空间选取。
DIMS变量的第一个元素称为ROI指针,如果它被定义,则表明影像是基于ROI进行空间选取的。
如果ROI指针设置为-1,表示没有使用ROI。
用户可用使用ENVI_GET_ROI_DIMS_PTR正确的设置ROI指针。
5、生成ENVI格式的文件
ENVI影像格式可能是最简单的数据格式。
它是二进制文件,栅格影像数据以二进制数据流方式按BSQ、BIL或是BIP的存储顺序存储。
文件中只有影像数据,头信息没有嵌入到文件中。
当使用WRITEU程序将二维或三维影像数据写入到磁盘时,IDL自动生成二进制格式文件。
ENVI格式的影像文件可用使用任意的名称,并且无需扩展名。
同时每一个二进制文件都伴随有一个ASCII格式的头文件,这个头文件描述了影像的基本特征以及附加信息。
为了ENVI能够识别这个头文件,它必需和影像文件具有同样的文件名,并以.hdr做为扩展名。
(1) 将影像数据保存到内存
当用户函数的结果是包含在IDL数组中的影像数据时,这些数据可用以内存方式被ENVI 所使用。
ENVI_ENTER_DATA
该函数将IDL数组中的数据输入到可用波段列表中,该程序自动的设置ENVI的头文件,该文件同样也存储在内存中,并返回内存影像的FID。
一旦影像出现的可用波段列表中,它就可以像其它ENVI影像一样使用,也能够被存入磁盘。
(2)将影像数据存入硬盘
由于IDL的WRITEU函数能够产生ENVI格式的文件,ENVI没有提供单独的程序来将IDL的数组写入到磁盘。
可以直接使用IDL的WRITEU函数
OpenW, unit, ’new_envi_image_file.img’, /Get_LUN
WriteU, unit, image_array
Free_LUN, unit
注:必需考虑到,要随影像文件同时写入ENVI的头文件。
ENVI_SETUP_HEAD
使用该函数写某个已存入磁盘的影像数据的ENVI头文件。
使用OPEN关键字,允许将影像文件输入到可用波段列表。
如果没有给ENVI_SETUP_HEAD程序设置OPEN或是WRITE关键字,那么ENVI头文件只是在内存中创建(可以使用ENVI_FILE_QUERY获取文件信息)。
ENVI_SETUP_HEAD函数也能够返回磁盘上影像文件的FID。
(3)从已存在的ENVI文件中创建新文件
CF_DOIT
这是第三个用于创建ENVI格式文件的函数,尽管它只能用于ENVI中已经打开的文件。
使用该函数通过已有的ENVI文件创建一个新的ENVI格式的文件。
集成到新文件中去的影像可以是ENVI中已经打开的磁盘文件或是内存文件,结果可以保存为文件也可以存放在内存中。