ENVI 5.3 使用 SVM 进行 Landsat 8 影像 监督分类教程
时间: 2025-03-19 18:01:21 浏览: 78
### ENVI 5.3 中使用 SVM 方法对 Landsat 8 影像进行监督分类
支持向量机(Support Vector Machine, SVM)是一种强大的机器学习算法,在遥感影像分类领域得到了广泛应用。以下是有关如何在 ENVI 5.3 软件中利用 SVM 对 Landsat 8 数据进行监督分类的具体说明。
#### 工具准备与数据加载
在开始之前,需确保已安装 ENVI 5.3 或更高版本软件,并具备可用的 Landsat 8 卫星影像文件。通过 `File -> Open` 命令加载 Landsat 8 的多光谱波段图像到工作区[^3]。
#### 创建训练样本
为了实现监督分类,需要定义目标区域的类别并采集相应的训练样本。这一步骤可以通过以下方式完成:
- 打开 Interactive Class Tool 面板 (`Classification -> Supervised Classification -> Maximum Likelihood...`)。
- 使用鼠标绘制感兴趣区域 (ROI),或者导入预先创建好的 ROI 文件。
- 修改类别的名称和颜色以便于区分不同地物类型[^2]。
#### 设置 SVM 参数
当准备好训练数据之后,可以配置 SVM 分类器的相关参数:
1. 进入菜单栏中的选项:`Classification -> Supervised Classification -> Support Vector Machines…`.
2. 在弹出窗口里指定输入特征空间(即参与分析的波段组合),以及输出结果保存路径。
3. 调整核函数类型及其超参设置,默认情况下采用径向基函数(RBF)[^1]。
#### 实施分类过程
确认所有前期准备工作无误后执行分类操作。等待计算完成后即可获得基于 SVM 算法得到的土地覆盖分布图。最后记得按照科学严谨的态度评估模型性能——即第六步提到过的精度检验环节[^1]。
```python
# 示例 Python API 接口调用代码片段用于自动化上述流程
import envi
envi.start()
session = envi.Session()
# 加载landsat8数据集
dataset_path = r"C:\path\to\Landsat8_image"
data = session.openRaster(dataset_path)
# 定义ROIs作为训练源...
rois = [...]
classifier = data.newSupervisedClassifier('SVM', rois=rois)
output_raster = classifier.classify(output_filename='classified_map')
```
阅读全文
相关推荐


















