基于ENVI的遥感影像的非监督分类

news2024/11/24 12:10:36

ENVI包括了ISODATA和K-Mean两种非监督分类方法。

ISODATA(Iterative Self-Orgnizing Data Analysize Technique)是一种重复自组织数据分析技术,计算数据空间中均匀分布的类均值,然后用最小距离技术将剩余像元进行迭代聚合,每次迭代都重新计算均值,且根据所得的新均值,对像元进行再分类。

K-Means使用聚类分析方法,随机地查找聚类簇的聚类相似度相近,即中心位置,是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的,然后迭代地重新配置他们,完成分类过程。

非监督分类总体上一般可分为4个过程:执行非监督分类、类别定义、合并子类和评价分类结果。

 1

1)执行非监督分类

下面以TM图像为例介绍非监督分类操作过程。

由于ISODATA和K-Mean参数设置不同,就两种分类方法分别介绍。

  1. ISODATA

    在Toolbox工具箱中,双击Classification/Unsupervised Classification/IsoData Classification工具,在Classification Input File对话框中,选择分类的TM图像文件,单击OK按钮,打开ISODATA Parameters对话框,下面设置ISODATA Parameters对话框中的参数。

(1)类别数量范围(Number of Classes:Min,Max):一般输入最小数量不能小于最终分类数量,最大数量为最终分类数量的2~3倍。Min:5,Max:15。

(2)最大迭代次数(Maximum Iterations):15.迭代次数越大,得到的结果越精确,运算时间也越长。

(3)变换阈值(Change Threshold):5.当每一类的变化像元数小于阈值时,结束迭代过程。这个值越小,得到的结果越精确,运算量也越大。

(4)Minimun#Pixel in Class:键入形成一类所需的最少像元数。如果某一类中的像元数小于最少像元数,该类将被删除,其中的像元被归并到距离最近的类中。

(5)最大分类标准差(Maximum Class Stdv):1.以像素值为单位,如果某一类的标准差比该阈值大,该类将被拆分成两类。

(6)类别均值之间的最小距离(Minimum Class Distance):5.以像素值为单位,如果类均值之间的距离小于输入的最小值,则类别将被合并。

(7)合并类别最大值(Maximum#Merge Pairs):2。

(8)距离类别均值的最大标准差

(Maximum Stdev From Mean):为可选项。筛选小于这个标准差的像元参与分类。

(9)允许的最大距离误差(Maximum Distance Error):为可选项。筛选小于这个最大距离误差的像元参与分类。

(10)选择输出路径及文件名,单击OK按钮,执行非监督分类。

2.K-Means

在Toolbox工具箱中,双击Classification/Unsupervised Classification/K-Means Classifi-cation工具,在Classification Input File对话框中,选择分类的TM图像文件,单击OK;打开K-Means Parameters对话框,下面设置K-Means Parameters对话框中的参数。

(1)分类数量(Number of Classes):15.一般为输出最终分类数量的2~3倍。

(2)最大迭代次数(Maximum Iterations):10。

迭代次数越大,得到的结果越精确,运算时间也越长。

(3)距离类别均值的最大标准差Maximum Stdev From Mean):为可选项。筛选小于这个标准差的像元参与分类。

(4)允许的最大距离误差(Maximum Distance Eror):为可选项。筛选小于这个最大距离误差的像元参与分类。

(5)选择输出路径及文件名,单击OK按钮,执行非监督分类。

非监督分类结果:

背景值可以通过裁剪去除;

执行非监督分类之后,获得了一个初步的分类结果,需要进行类别定义和合并子类的操作。

第一步类别定义

类别定义的根据可以通过更高分辨率图像上目视解译获得,也可以是基于野外实地调查数据。

(1)打开目视解译底图并在视窗中显示(如果有)。

(2)打开TM非监督分类结果图像并在视窗口中显示。

(3)在图层管理器(Layer Manager)中,在Classes上右键选择Hide All Classes菜单,之后勾选Classl,只显示一个分类类别,通过目视判别该类的名称。

(4)在Toolbox工具箱中,双击Raster Management/Edit ENVI Header工具,在文件输入对话框中选择TM非监督分类结果。

(5)在Header Info面板中,选择Edit Attributes-→Classification Info,按照默认单击OK按钮,打开Class Color Map Editing面板。

(6)在Class Color Map Editing面板中,选择对应的类别,在Class Name中输入重新定义的类别名称,同时修改显示颜色。

(7)重复(3)~(6)步骤,定义其他类别。

提示:由于NVI5.1版本中每次修改图像头文件信息后自动关闭图像,因此最好在步骤(3)中把所有的分类都判读后,在Class Color Map Editing面板中修改分类名称和颜色。

第二步合并子类

在选择非监督分类类别数量时候,一般选择最终结果数量的2~3倍,因此在定义类别之后,需要将相同类别合并。

(1)在Toolbox工具箱中,双击Classification/Post Classification/Combine Classes工具。

在Combine Classes Input File对话框中,选择定义好的分类结果,单击OK按钮,打开Combine Classes Parameters面板。

(2)在Combine Classes Parameters面板中,从Select Input Class中选择合并的类别,从Selecct Out Class中选择并人的类别,单击Add Combination按钮添加到合并方案中。合并方案显示在Combined Classes列表中,在Combined Classes列表中单击其中一项,可以从方案中移除。

(3)合并方案确立之后,单击OK按钮,打开Combine Classes Output对话框,在Re-move Empty Classes项中选择“Yes”,将空白类移除。

(4)选择输出合并结果路径及文件名,单击OK按钮,执行合并。

评价分类结果的过程与监督分类的方法一样,可参考前面监督分类评价的内容,这里不再赘述。

最系统的ENVI,含土地利用、植被指数、耕地监测、水质反演、温度反演、干旱监测专题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/703109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见分子直径

He 0.26 H2 0.289 NO 0.317 CO2 0.33 Ar 0.34 O2 0.346 N2 0.364 CO 0.376 CH4 0.38 C2H4 0.39 Xe 0.396 C3H8 0.43 SO2 0.28 气体分子 分子直径/nm 水0.27~0.32 氨0.365~0.38 苯0.65~0.68 乙烷0.40~0.47 乙烯…

华为OD机试真题 Python 实现【快速开租建站】【2023Q1 200分】,附详细解题思路

一、题目描述 当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。 每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。…

项目——学生信息管理系统5

目录 教师模块功能的实现 创建一个 Teacher 实体类 创建 添加老师界面 AddTeacherFrm 注意创建成 JInternalFrame 类型 页面的制作 给添加按钮绑定事件 提供一个重置表单功能 回到 MainFrm 添加教师管理的按钮 给添加教师按钮绑定事件 测试添加教师功能 创建教师信息管…

Day8——操作系统基础windows

文章目录 操作系统基础操作系统的定义 什么是windows 操作系统基础 操作系统的定义 什么是windows

gin RouterGroup 方法概览

路由组 RouterGroup是gin 里面的路由组,主要作用是实现gin的路由。 RouterGroup是嵌套在了Engine内部,实际上调用Engine的get,post等方式就是RouterGroup的实现。 另外RouterGroup还实现了如下两个接口: Engine相当于RouterGrou…

【Shell】自定义传入参数

授权 cd /Users/lion/Downloads/shell-test-demos chmod ux *.sh#!/bin/bashprintHelp() {echo "-p pic (required) path for pic"exit 1 }while getopts p:h OPT; docase $OPT inp) path"$OPTARG" ;;esac done# check api_key exists if [ -z "$pat…

多元回归预测 | Matlab海洋捕食者算法(MPA)优化极限学习机ELM回归预测,MPA-ELM回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab海洋捕食者算法(MPA)优化极限学习机ELM回归预测,MPA-ELM回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% …

计算机中丢失api-ms-win-core-path-l1-1-0dll

使用python自带工具打包exe文件夹时出现的错误。win10的exe文件放到win7上跑不出来。 本着找到这个dll文件放进去,但同事的win10打包的程序就可以放到win7上运行,所以改了python环境,把虚拟环境python版本改成了3.8,原来用的3.9不…

FFmpeg ~ 安装(附MetaRTC整合)

前言 本文会讲述FFmpeg下载/配置/编译/安装的完整流程,该流程并不复杂,因此本文的重点在于如何整合MetaRTC。MetaRTC的作用是令FFmpeg支持WebRTC推/拉流及回声消除功能(常规版本的FFmpeg是不支持该功能的),使得WebRTC音…

【万字长文】AMD Instinct MI300详细解析:超微半导体的光辉时刻

美国时间6月13日,AMD在美国加利福尼亚州旧金山举行了一场名为“数据中心与AI技术首演”的活动,并在主题演讲中介绍了数据中心的解决方案。 其中,宣布推出“AMD Instinct MI300系列加速器”(以下简称Instinct MI300系列&#xff0…

MidJourney v5.2 、Stable Diffusion XL 0.9 出图对比

最近两个最流行的AI图像生成器,Midjourney和Stable Diffusion,都发布了重大更新。Midjourney v5.2引入了许多新功能,包括“缩小”功能、“/缩短”命令、改进的图像质量等。 Stable Diffusion XL (SDXL) 0.9则专注于改善图像质量和构图。新模…

经典文献阅读之--R-PCC(基于距离图像的点云压缩方法)

0. 简介 对于激光雷达数据而言,虽然与2D图像相比,可以提供精确的物体深度信息,但也存在数据量大的问题,不便于数据存储或传输。在拿到离线数据分析的时候会发现我们很难拿到较长一段时间的激光数据,这就给我们问题的重…

抖音最新版本抓包

1.下载fiddler抓包工具 2.配置https抓包环境 3.抓包工具配置好了之后,我们确保手机和电脑在同一个局域网中 4.打电脑CMD 输入 ipconfig 查看电脑的ip地址 5.打开我们的手机设置代理 6.打开浏览器 输入:你的电脑ip:8888 下载证书 7.打开Re文件管理器(ps…

原来,绩效管理还能这么玩

早上好,我是老原。 最近,有个粉丝朋友来找我请教:他最近加入另外一家大型互联网公司,主要是负责领导力相关这块。他们现在也在做OKR实践,但是碰到了很多问题。 对此我并不觉得意外,因为这样的案例太多了。…

ModaHub魔搭社区:GPTCache的工作原理和为什么选择 GPTCache?

什么是 GPTCache? GPTCache 是一个开源工具,旨在通过实现缓存来提高基于 GPT 的应用程序的效率和速度,以存储语言模型生成的响应。GPTCache 允许用户根据其需求自定义缓存,包括嵌入函数、相似度评估函数、存储位置和驱逐等选项。…

《Opencv3编程入门》学习笔记—第十一章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第十一章 特征检测与匹配 一、SURF特征点检测 太复杂了!全是公式! (一)SURF算法概览 SURF,SpeededUp Rebus…

基于matlab使用点要素匹配在杂乱场景中检测对象(附源码)

一、前言 此示例演示如何在给定对象的参考图像的情况下检测杂乱场景中的特定对象。 此示例提供了一种基于查找参考和目标图像之间的点对应关系来检测特定对象的算法。它可以检测物体,尽管刻度变化或面内旋转。它对少量的面外旋转和遮挡也很鲁棒。这种对象检测方法…

Ansible练习

部署ansible练习 开始之前先使用student用户登录 登录命令:ssh studentworkstation 在workstation上运行lab deploy-review start命令,此脚本将确保受管主机在网络上访问。 然后开始验证控制节点上是否安装了ansible软件包,在运行anisble -…

Shell脚本编程教程

Shell脚本编程 1.Shell脚本语言的基本结构 1.1 Shell脚本的用途: 自动化常用命令执行系统管理和故障排除创建简单的应用程序处理文本或文件 1.2 Shell脚本基本结构: ​ Shell脚本编程:是基于过程式,解释执行的语言 编程语言…

【C#】简单聊下Framework框架下的事务

框架用的多了,之前版本的事务都忘记了。本次简单聊下.net framework 4.8框架下本身的事务 目录 1、SqlClient2、TransactionScope3、引用 1、SqlClient 在 C# 中,使用 using 块可以方便地实现对资源的自动释放,但它不适用于实现事务处理。为…