运用ArcGIS进行影像分类

2024-08-23 04:58

本文主要是介绍运用ArcGIS进行影像分类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

影像分类的目的就为了将图像中的像元划分成不同的类别,过程就是根据像元在不同波段的波普亮度、空间结构特征或者其他信息,按照某种规则或算法实现分类。遥感图像分类处理就是是为了提取遥感图像中的目标信息,遥感图像分类主要用于地物类别的区分。

       影像分类分为监督分类和非监督分类,很多遥感书籍中都有这两种分类方法的比较。这里我结合ArcGIS软件简单整理一下:


监督分类

监督分类是使用被确认类别的样本像元去识别其他未知类别像元的过程。其中这些已被确认类别的像元就是训练样本。也就是说,在监督分类中,必须事先提取出代表总体特征的训练数据以及事先知道影像中有几种类别。这样就可以学习这些样本类别的先验知识,然后对整体数据进行分类。


在 ArcGIS 中,首先使用 Image Classification 工具条中的训练样本管理器,创建训练样本。



在创建样本之后,我们可以评估训练样本,使用直方图、散点图、统计数据。


(1)直方图

打开直方图,每个波段对应一个直方图。不同类的直方图不应重叠。如果发生重叠,则需要删除或合并其中一些类。

直方图按钮仅用于整型影像,不适用于浮点型。



(2)散点图

散点图是参加分类的影像数据的波段的两两组合,如果有N个波段,就有1 + 2 + … + (N – 1) 个散点图。

对于所有波段组合,散点图和统计数据不应彼此重叠。



(3)统计数据

统计数据包括最小值、最大值、平均值、标准差和协方差矩阵。



创建训练样本后,可以使用交互式监督分类工具,探索性的直接查看分类结果。这个工具不需要事先创建特征文件,工具后台使用的是最大似然法分类方法。




在ArcGIS 中,监督分类的主要GP工具是 最大似然法分类工具(Maximum Likelihood Classification)

(1)需要使用 特征文件(Signature File),既可以是通过训练样本制作的,也可以是ISO聚类工具求取,*.gsg文件。

(2)可以根据需要设置 剔除分数(Reject Fraction ),例如0.01。这样表示,正确分类的几率不到 1% 的像元就会成为 NoData。

(3)先验概率(priori probability),工具默认使用 Equal 先验概率,会给像元分配可能性最大的分类。但是,如果某些类出现的可能性大于(或小于)平均值,则应将 FILE 先验选项与输入先验概率文件结合使用。输入先验概率文件必须是包含两列的 ASCII 文件。左列中的值表示类 ID。右列中的值表示相应类的先验概率。类别先验概率的有效值必须大于或等于零。如果指定零作为概率,则类无法显示在输出栅格中。指定先验概率的总和必须小于或等于1。

(4)最大似然法分类工具还可以附带可选生成 置信栅格(confidence raster),这样可以了解每个像元的正确分类的概率。


非监督分类

非监督分类不预先确定类别,而是直接对相似的像元进行归类,根据归类的结果来确定类别。也就是在事先没有任何先验知识的情况下对未知类别的样本进行分类。当我们没有训练区,有对研究区不熟悉时,或者对图像中包含的目标物不明确的时候,采用此方法。


在 ArcGIS 中进行非监督分类,主要使用工具 ISO聚类非监督分类工具(Iso Cluster Unsupervised Classification)。

需要指定希望分出来的类别的数量,并且根据需要调整迭代的次数、类的最小尺寸、采样间隔。

ISO 是 iterative self-organizing 的缩写,也就是迭代自组织方法。此工具的工作原理从帮助中扒出来,供参考:

iso 聚类算法是一种迭代过程,用于在将各个候选像元指定给聚类时计算最小欧氏距离。该过程从处理软件指定的任意平均值开始,每个聚类一个任意平均值(您指定聚类数量)。将每个像元指定给最接近的平均值(多维属性空间中的所有平均值)。基于首次迭代后从属于每个聚类的像元的属性距离,重新计算各个聚类的新平均值。重复执行此过程:将各个像元指定给多维属性空间中最接近的平均值,然后基于迭代中像元的成员资格计算各个聚类的新平均值。您可通过迭代次数指定该过程的迭代次数。该值应该足够大,才能确保执行指定次数的迭代后,像元从一个聚类迁移至另一个聚类的次数最少;从而,使所有聚类变为稳定状态。迭代次数应该随着聚类数的增加而增加。

这篇关于运用ArcGIS进行影像分类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098410

相关文章

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright