创建简单的 ENVI 模型
课程内容
第 1 课,共 1 课
创建简单的 ENVI 模型
本快速指南将引导您了解如何在 ENVI Modeler 中构建简单模型,并提供不同的数据输入选项。您可以在 ENVI Modeler 入门 快速指南中找到其他介绍性信息。
您将学习如何构建和运行用于多光谱图像非监督分类的简单模型。您将创建一个使用固定栅格作为输入的模型,以及一个类似的允许您指定自己输入栅格的模型。
ENVI Modeler 输入选项:
ENVI Modeler 支持使用以下节点类型来为模型设置数据输入:
- 文件(File) - 此节点允许您选择计算机上保存的一个或多个文件。
- 数据集(Dataset) - 此节点允许您指定一个或多个已在 ENVI 中打开的文件。
- 输入参数节点(Input Parameters) - 此节点允许您设置各种输入参数。运行模型时,将显示一个对话框,提示您选择输入,并为您连接到此节点的任务设置任何其他参数。
- 值数组(Array of Values) - 此节点允许您指定一个数字或字符串数组,用作任务的输入。
您也可以在任务节点本身内部设置输入。
在本快速指南中,我们将使用文件(File)和输入参数(Input Parameter)节点选项创建示例模型。
示例 1:创建具有预定义输入文件的模型
您将创建一个简单模型,对多光谱图像执行非监督分类,并在 ENVI 中查看输出。
如果您在本地计算机上进行测试,并且希望避免每次调整参数后运行流程时都要选择输入文件,那么预定义文件会很有用。此外,以这种方式设置硬编码文件是生成 ENVI 模型对应的 Python 程序的必要条件。您可以查看 导出 ENVI 模型 快速指南,了解有关导出模型的更多详细信息。
- 打开 ENVI Modeler:显示(Display) > ENVI Modeler。将出现一个带有空白布局窗口的 无标题(Untitled) 选项卡。
- 在 基础节点(Basic Nodes) 下双击 文件(File)。将出现一个 选择类型(Select Type) 面板。
- 单击 栅格(Raster)。将出现一个 选择文件(Select Files) 对话框。
- 转到 ENVI 安装路径中的 "data" 目录。
Windows: C:\Program Files\NV5\ENVIxx\data (xx 是版本号)
Linux: /user/local/NV5/envixx/data
Mac: /Applications/NV5/envixx/data - 选择文件 qb_boulder_msi 并单击 打开(Open)。
这是科罗拉多州博尔德市的一幅 QuickBird 多光谱图像。它有四个波段:波段 1(蓝色)、波段 2(绿色)、波段 3(红色)和波段 4(近红外)。
一个名为 qb_boulder_msi 的蓝色节点出现在布局窗口中,如下所示:

- 在 任务(Tasks) 下的搜索栏中输入 isodata。双击 ISODATA 分类(ISODATA Classification)。这会将一个黄色的 ISODATA 分类(ISODATA Classification) 任务节点添加到布局窗口。
当您选择一个任务时,您将在任务列表下方看到该任务的简要描述。您可以单击搜索框右侧的 重置(Reset) 按钮来移除您搜索的关键字,并使用旁边的 按标签筛选(Filter by Tag) 按钮按类别搜索任务。您也可以右键单击任何任务并选择 查找类似任务(Find Similar Tasks),以用具有相同类别标签的其他任务填充搜索结果。 - 在 基础节点(Basic Nodes) 下双击 视图(View)。这会添加一个名为 视图(View) 的绿色节点。或者,如果您希望输出出现在当前会话的 ENVI 数据管理器(Data Manager)中,而不是显示在 ENVI 视图中,可以选择数据管理器(Data Manager)节点而不是视图(View)节点。您也可以让您的分类节点连接到 视图(View) 和 数据管理器(Data Manager) 两个节点,以获得两种结果。
要调整节点的位置,请左键单击并按住一个节点,将其拖动到新位置。 - 现在您必须连接节点。当您将鼠标悬停在节点的右箭头或左箭头上时,鼠标会变为十字准线符号。将鼠标悬停在 qb_boulder_msi 节点的右箭头上,直到看到十字准线,然后左键单击并将出现的虚线拖到 ISODATA 分类(ISODATA Classification) 节点的左侧箭头上。如果连接有效,虚线会变为实线,此时您可以松开鼠标点击。现在,文件节点和任务节点之间有了一个实心的连接线。
- 将 ISODATA 分类(ISODATA Classification) 节点中的右箭头连接到 视图(View) 节点中的左箭头。
现在您已经为这个简单模型拥有了三个节点和两个连接器,如下所示。您可以单击 Modeler 工具栏中的 自动布局(Automatic Layout) 图标,以便更整齐地排列节点。其左侧的 模型居中(Center Model) 图标将使您的模型在布局窗口中居中。

文件节点 qb_boulder_msi 的右下角有一个图标,允许您更改要作为输入的文件,如下所示。
如果您更改了输入文件的路径、想在另一台计算机上运行模型,或者想选择其他文件作为输入,可以使用此图标确保指向正确的文件。

与大多数任务(Task)节点和一些基础(Basic)节点一样,ISODATA 分类(ISODATA Classification) 节点的右下角有另一个图标,即 参数(Parameters) 图标,允许您更改该节点的参数:

- 单击 ISODATA 分类(ISODATA Classification) 节点中的 参数(Parameters) 图标。这将打开此任务的参数窗口,如上图所示。您将看到输入栅格(Input Raster)参数已自动填充为 <- qb_boulder_msi。这表示与文件节点存在连接。
- 保留面板中的默认参数。如果您想保存输出栅格,可以选择输出栅格(Output Raster)的名称和位置;或者留空以创建虚拟栅格。单击 确定(OK) 关闭面板。
- 双击第一个和第二个节点之间的连接器。这将打开 编辑连接参数(Edit Connection Parameters) 窗口,并以青色高亮显示该连接,如下所示。您会看到一条红线将左侧的 qb_boulder_msi 连接到右侧的 输入栅格(Input Raster)。这表明您为文件节点选择的文件将成为分类节点的输入。
由于这是这些节点之间唯一可能的连接,因此自动建立了连接。如果两个节点之间可能存在多个连接,则在建立连接时会弹出 连接参数(Connect Parameters) 对话框,以便您可以手动指定正确的连接。要建立连接,请单击左列的项目,然后单击右列要与之匹配的项目。单击任一已连接的项目可移除连接。

- 单击 确定(OK) 关闭对话框。
- 双击第二个和第三个节点之间的连接器。这将打开 编辑连接参数(Edit Connection Parameters) 窗口。您将看到一条红线将左侧的 输出栅格(Output Raster) 连接到右侧的 输入栅格(Input Raster)。它表明分类任务的唯一输出是一个栅格,并且该栅格将成为 ENVI 视图的输入。
视图(View)列中"输入栅格(Input Raster)"下方的所有选项都是此节点可以接受作为输入的其他文件类型,如果它们是您感兴趣的任务的输出。

- 单击 确定(OK) 关闭对话框。
保存、验证和运行模型
现在您已经完成了用于非监督分类的模型,可以保存、验证和运行它了。
- 要保存模型,请从 Modeler 菜单栏中选择 文件(File) > 保存(Save) 或 文件(File) > 另存为(Save As)。为文件选择名称和位置,然后单击 保存(Save)。它将具有 .model 扩展名。
- 从 Modeler 菜单栏中,选择 代码(Code) > 验证模型(Validate Model)。这将显示一个 模型验证报告(Model Validation Report) 对话框,指示模型中的任何错误或警告。
- 单击 确定(OK) 关闭对话框。
- 要运行模型,请单击 Modeler 工具栏上的 运行(Run) 按钮,或从 Modeler 菜单栏中选择 代码(Code) > 运行模型(Run Model)。所有节点首先变为灰色,然后变为绿色,表示执行完成。
- 最小化 ENVI Modeler 窗口并转到 ENVI 图像窗口(Image window)。模型的分类输出将显示出来,如下所示:

*示例 2:创建具有输入参数的模型*
与使用 文件(File) 或 数据集(Dataset) 节点将硬编码文件指定为模型输入不同,您可以修改模型,使用户在运行模型时被提示选择输入文件。您可以使用 输入参数(Input Parameters) 节点来实现这一点。输入参数(Input Parameters) 节点还允许用户在运行模型时指定任务中任何参数的值,而无需预先设置。
输入参数(Input Parameter) 节点在创建将要共享的模型时非常有用,因为它们不依赖于为数据集设置固定路径。因此,它们允许用户在运行模型时灵活选择要处理的任何文件。
- 使用您上面构建的简单模型打开 ENVI Modeler 窗口:显示(Display) > ENVI Modeler
- 使用 文件(File) > 另存为(Save As) 将其保存为新模型。为此模型选择一个新名称,然后单击 保存(Save)。
- 右键单击青色文件节点 qb_boulder_msi,然后选择 删除(Delete)
- 在 基础节点(Basic Nodes) 列表中,双击 输入参数(Input Parameters)。这会将一个粉红色的 输入参数(Input Parameters) 节点添加到布局中。
- 将此节点拖放到其他节点的左侧,即原来文件节点所在的位置。
- 在 输入参数(Input Parameters) 节点和 ISODATA 分类(ISODATA Classification) 节点之间绘制一个连接器。这将弹出 连接参数(Connect Parameters) 对话框。
此对话框允许您指定希望在运行模型时(而不是在任务节点本身内部)设置分类节点的哪些输入。 - 单击左列中的 添加新输入项(Add New Input(s)),然后单击右列中的 输入栅格(Input Raster)。一条红线连接了选中的项。
- 单击右列中的 输出栅格 URI(Output Raster URI)。一条绿线将此项目连接到左列中的 添加新输入项(Add New Input(s)) 项目。
如果您想设置分类任务中任何其他参数的值,可以创建与 添加新输入项(Add New Input(s)) 项目类似的连接。

- 单击 确定(OK) 关闭 连接参数(Connect Parameters) 对话框。
- 单击 ISODATA 分类(ISODATA Classification) 节点上的参数图标。输入栅格(Input Raster) 和 输出栅格(Output Raster) 字段都将自动填充为从输入参数节点中选择的字段,如下所示。您可以在此处调整所有其他参数。

- 单击 确定(OK) 关闭对话框。
- 单击 输入参数(Input Parameters) 节点上的参数图标。您可以编辑将提示您为每个添加项选择文件名的标题。

- 单击 确定(OK) 关闭对话框。
您可以在此处下载此示例模型:
[SimpleModel2.model
2 KB
下载(Download) 带下划线的向下箭头图标](assets/SimpleModel2.model)
运行具有输入参数的模型
现在新模型已完成,您可以运行它。在运行之前保存模型也是一个好主意,以防程序崩溃导致未保存的更改丢失。
- 保存(Save) 模型。
- 单击工具栏上的 运行(Run),或从 Modeler 菜单栏中选择 文件(File) > 运行(Run)。
所有节点将首先变为灰色。然后输入参数节点会以黄色高亮显示。将出现一个以您模型名称命名的对话框,提示您选择 输入栅格(Input Raster) 并指定 输出栅格 URI(Output Raster URI)。 - 单击 输入栅格(Input Raster) 右侧的三点图标。这将打开 数据选择(Data Selection) 对话框。
- 单击 打开文件(Open File) 图标,导航到 ENVI 安装路径中的 "data" 目录:
Windows: C:\Program Files\NV5\ENVIxx\data (xx 是版本号)
Linux: /user/local/NV5/envixx/data
Mac: /Applications/NV5/envixx/data - 单击 打开(Open)。在 数据选择(Data Selection) 对话框中高亮显示 qb_boulder_msi,然后单击 确定(OK)。
- 单击 输出栅格(Output Raster) 右侧的三点图标。将出现 数据选择(Data Selection) 对话框。
- 导航到要保存输出的目录,指定文件名,然后单击 打开(Open)。

- 单击确定(OK) 继续。节点将在运行时变为绿色。完成后,输出将显示在 ENVI 图像窗口(Image window) 中,与之前运行的情况相同。
本快速指南到此结束。
您的意见对我们非常重要,请花几分钟时间填写我们的快速指南反馈(Quick Guide Feedback) (在新标签页中打开)表单。
© 2024 NV5 Geospatial Solutions, Inc. 此信息不受国际武器贸易条例(ITAR)或出口管理条例(EAR)的约束。