【RS】基于规则的面向对象分类

        ENVI使用最多的工具就是分类,这也是很多卫星影像的用途。在ENVI中有很多分类工具,如最基础的监督分类(最大似然法、最小距离、支持向量机、随机森林)、非监督分类(K-means、IsoData),还有面向对象、面向过程的提取,亦或是深度学习模块、精准农业模块。

        今天给大家介绍一下基于规则的面向对象分类,这里的规则包含光谱、几何等特征,所以博主认为它更适合提取水体、道路等具有明显纹理的地物,或者地物间的归一化光谱指数有较大差异时可以使用这个工具。其中最重要的就是参数的调优,所以大家要有耐心,慢慢尝试!

一、打开提取工具

        直接在Feature Extraction工具栏中打开Rule Based Feature Extraction Workflow工具即可,也可以直接在工具箱里搜索。

 二、参数设置

        1)在打开的工具框中,选择需要分类的影像

        2)选择光谱指数和色彩空间信息,其他无需设置。这里需要注意,光谱指数是对你的分类有明显帮助的指数,如你在提取植被时NDVI对你来说很重要,那么这里就选择近红外和红波段。而RGB色彩空间波段,可选可不选。

        3)点击下一步后出现分割合并尺度的选择。这里可以点击左下角的预览,查看尺度是否合适。这里没有什么标准,根据你所需要提取的地物选择合适的尺度即可。

        我这里给出了我的尺度,大家可以看看红框中的分割效果,完成后点击下一步进入规则的建立。

三、规则建立

        1)这里可以添加不同的地物类别,取决于你要分几类,还可以修改名称和颜色。在创建了一个新的类别后,可以右键建立多条规则,规则可以是波段的值、光谱指数的值、几何中的面积、长度等等。同样也可以预览,查看规则是否合适。

        在进行参数调整时,大家记得要把预览关闭,调一下打开一下不然会很卡很卡。

         2)在建立好规则后,还需要设置权重,即该规则在分类占据的比重,权重一般在建立完规则后再确定。不同的权重,分类结果也不一样,所以可以尝试多种权重以获得更好的效果。

 四、规则的确定(服务于第三步)

        1)对于规则中阈值的确定,大家可以再打开一个ENVI程序,然后选取一些地物样本。点击统计工具,查看样本在各个波段的值。

        2)通过地物波段最大值、最小值的对比,可以很好的确定分割阈值。也可以将两个地物的光谱曲线拖到一起,更加直观。

 五、结果输出

        第三步完成规则的建立后,点击下一步。选择输出的格式即可。下面是提取植被的效果图。

 

        基于规则的面向对象分类比较适合多光谱(4个波段以上)或提取某些有空间几何特征的地物。它和决策树分类的原理非常类似,决策树可以添加坡度、坡向等地形因子作为筛选的条件,而它可以用面积、长度等空间几何特征作为筛选条件。遥感的分类方法大同小异,电磁波传输时的损失无法避免,云、雾、阴影等也会影响,所以大家在做分类时要选择合适的方法。

        后续会更新一些ENVI处理数据的教程,当然要有空才行。现在一直在做编程,一些ENVI的操作又比较基础,所以懒得写文章。如果大家在学习Python或者遥感时有什么问题,可以随时留言交流!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安卓开发后台应用周期循环获取位置信息上报服务器

问题背景 最近有需求,在APP启动后,退到后台,还要能实现周期获取位置信息上报服务器,研究了一下实现方案。 问题分析 一、APP退到后台后网络请求实现 APP退到后台后,实现周期循环发送网络请求。目前尝试了两种方案是…

随笔--更改已经启动中的容器的配置文件

文章目录 docker 容器的配置信息地址修改文件映射 docker 容器的配置信息地址 # 一般在 sudo su cd /cd /var/lib/docker/containers/{容器id}/ # 查看容器的id,CONTAINER ID就是容器id的前部分 docker ps修改文件映射 进入容器的配置文件位置一般包含这些文件 # 先stop容器…

Docker--harbor私有仓库部署与管理

目录 一、构建私有库 1.下载 registry 镜像 2.在 daemon.json 文件中添加私有镜像仓库地址 3.运行 registry 容器 4.为镜像打标签 5.上传到私有仓库 6.列出私有仓库的所有镜像 7.列出私有仓库的centos镜像有哪些tag 8.测试私有仓库下载 二、Harbor 简介 1.什么是Harb…

iOS--属性关键字

定义 chat: 在iOS开发中,属性关键字是用于声明类的属性(实例变量)的修饰符。属性关键字可以影响属性的访问权限、内存管理和生成相关的getter和setter方法。 属性关键字有哪些? 分类属性关键字原子性atomic、nonato…

Spring MVC-基础概念(定义+创建和连接+@RequestMappring的描述)

目录 1.什么是Spring MVC? 2. MVC 和 Spring MVC 的关系 3.Spring MVC 项目创建 4. RequestMappring实现用户和程序的映射 4.1 RequestMappring 注解解释 4.2 方法1: RequestMapping(“/xxx”) 4.4 RequestMapping(method xxxx, value “xxx”) 是POST/GET…

协作实现时序数据高效流转链路 | 7.20 IoTDB X RocketMQ 技术沙龙线上直播回顾

7 月 20 日,IoTDB X RocketMQ 技术沙龙线上直播圆满结束。工业物联网时序数据库研发商天谋科技、云原生事件流平台 Apache RocketMQ 社区的四位技术专家,针对实时数据接入、多样数据处理与系统的高扩展、高可靠特性的数据流转处理平台实现难点&#xff0…

Java日志框架JUL、Log4j、logback、log4j2使用

随着软件系统的发展系统业务越来越多、逻辑越来越复杂、代码量越来越多,伴随着容易出现的bug也会越来越多,不论是开发测试阶段还是生产阶段都需要将这些错误及时的捕捉记录下来,方便解决这些问题,否则针对出现的异常无从下手&…

【三维点云处理】顶点、面片、邻接矩阵、邻接距离矩阵以及稀疏存储概念

文章目录 vts和faces基础知识vertices-节点(3是点的三维坐标)faces-面片(3是构成三角形面片的3个点) 邻接矩阵邻接距离矩阵(NN500)稀疏矩阵 vts和faces基础知识 vertices-节点(3是点的三维坐标…

【JavaEE初阶】HTTP协议

文章目录 1. HTTP概述和fiddler的使用1.1 HTTP是什么1.2 抓包工具fiddler的使用1.2.1 注意事项1.2.2 fiddler的使用 2. HTTP协议格式2.1 HTTP请求格式2.1.1 基本格式2.1.2 认识URL2.1.3 方法 2.2 请求报头关键字段2.3 HTTP响应格式2.3.1 基本格式2.3.2状态码 1. HTTP概述和fidd…

【博客682】k8s apiserver bookmarks机制以更高效检测变更

k8s apiserver bookmarks机制以更高效检测变更 list-watch背景: List-Watch 是kubernetes中server和client通信的最核心的机制, 比如说api-server监听etcd, kubelet监听api-server, scheduler监听api-server等等,其实…

任务的创建与删除

Q: 什么是任务? A: 任务可以理解为进程/线程,创建一个任务,就会在内存开辟一个空间。 比如: 玩游戏,打篮球,开车,都可以视为任务。 Windows 系统中的 MarkText 、谷歌浏览器、记事本&#xff0…

SpringBoot2为什么默认使用CGLib不再使用JDK动态代理

SpringBoot2为什么默认使用CGLib不再使用JDK动态代理 CGLib和JDK动态代理对比1. 不需要实现接口2. 性能3. 代理对象的创建4. 调用方法 2. CGLib使用 CGLib和JDK动态代理对比 1. 不需要实现接口 JDK动态代理类要求目标类必须实现接口,而CGLib动态代理可以直接代理普通类(非接口…

C语言中指针(简略复习)

一、指针 1. 指针运算 设p为指针,T为类型,n为整型数字,则pn表示,指针从当前位置向后移动n个数据单位,而不是n个字节。 数据类型不同,移动的数据单位字节数也不同,实际上移动的字节数为n*sizeo…

【windows】连接共享打印机提示:0x0000011B

【问题现象】 添加共享打印机的时候, 提示错误:0x0000011B。 【解决方法】 按winr键,在运行输入regedit 然后在注册表中找到路径: 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print 打开后,在右侧…

【Nodejs】Puppeteer\爬虫实践

puppeteer 文档:puppeteer.js中文文档|puppeteerjs中文网|puppeteer爬虫教程 Puppeteer本身依赖6.4以上的Node,但是为了异步超级好用的async/await,推荐使用7.6版本以上的Node。另外headless Chrome本身对服务器依赖的库的版本要求比较高,c…

[Angular] Import TranslateModule in Angular 16

1.Background Angular 更新至V16版后,支援 standalone,故移除了 NgModule,而TranslateModule 又要在AppModule中 import,那该如何做呢? 2.NPM packages installation npm install ngx-translate/core npm install n…

Pytorch个人学习记录总结 08

目录 神经网络-搭建小实战和Sequential的使用 版本1——未用Sequential 版本2——用Sequential 神经网络-搭建小实战和Sequential的使用 torch.nn.Sequential的官方文档地址,模块将按照它们在构造函数中传递的顺序添加。代码实现的是下图: 版本1—…

Vue入门项目——WebApi

Vue入门——WebApi vue3项目搭建组合式API响应式APIreactive()ref() 生命周期钩子computed计算属性函数watch监听函数父子通信模板引用组合选项 vue3项目搭建 简单看下Vue3的优势吧 下载安装npm及node.js16.0以上版本(确保安装成功可用如下代码检查版本&#xff0…

【Docker-compose】基于Docker-compose创建LNMP环境并运行Wordpress网站平台

基于Docker compose创建LNMP环境并运行Wordpress网站平台 1.Docker-Compose概述2. YAML文件格式及编写注意事项3. Docker-Compose配置常用字段4.Docker Compose常用命令5.使用Docker-compose创建LNMP环境,并运行Wordpress网站平台5.1 Docker Compose环境安装5.2 使用…

使用spark进行hbase的bulkload

使用spark进行hbase的bulkload 一、 背景 HBase 是一个面向列,schemaless,高吞吐,高可靠可水平扩展的 NoSQL 数据库,用户可以通过 HBase client 提供的 put get 等 api 实现在数据的实时读写。在过去的几年里,HBase …