码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ENVI:分类后处理_小斑块去除_Majority/Minority处理、聚类处理、过滤处理等


    目录

    01 阅读前要

    02 小斑块处理-Majority/Minority处理

    2.1 什么是Majority/Minority处理?

    2.2 Majority/Minority处理实操

    2.2.1 加载分类好的图像

    2.2.2 找到 Majority/Minority处理 工具并点击打开

    2.2.3 输入分类图像文件

    2.2.4 Majority/Minority处理的相关参数设置

    2.2.5 处理前后的图像展示

    02 小斑块处理-聚类处理

    2.1 加载分类好的图像

    2.2 找到  聚类处理  的工具并点击打开 

    2.3 输入分类图像设置 

    2.4 聚类处理核心设置

    03 小斑块处理-过滤处理

    3.1 加载分类好的图像

    3.2 找到 过滤处理 工具并点击打开

    3.3 输入分类图像文件

     04 分类统计

    4.1 加载分类图像-略

    4.2 找到 分类统计 的工具并点击打开

    4.3 输入分类好的图像文件

    4.4 输入分类图像基于的原图像文件

    4.5 选择需要统计的类别

    4.6 输出设置

    4.7 分类统计结果展示

     05 分类叠加

     5.1 找到 分类叠加 工具并点击打开

     5.2 输入底图以及底图的参数设置

     5.3 输入分类好的图像(其中有很多类别的那个图像嘛)

     5.4 叠加的类别选择以及输出文件参数设置

     5.5 输出的分类叠加文件展示

    06 对图像进行线性拉伸并保存该线性拉伸的图像

    6.1 找到 数据拉伸 的工具并点击打开

    6.2 输入需要进行拉伸的图像

    6.3 拉伸设置以及输出设置

    6.4 拉伸结果展示

     07 分类结果转矢量

    7.1 找到 分类结果转矢量结果 工具并点击打开

    7.2 输入分类好的图像文件

    7.3 转矢量以及输出的相关参数设置


    01 阅读前要

    当我们对图像分类之后,会发现分类好的图像大体是令人满意的。但是图像会有一些小黑点以及不正常的小斑块,这些需要通过一定的方法进行处理。

    对于小斑块的处理这里介绍三种方法:Majority/Minority处理、聚类处理、过滤处理。

    对于分类图像的情况的统计 ==> 分类统计

    当然,对于分类叠加、数据拉伸(线性拉伸为例)、分类结果转矢量也会稍微说明,这很简单。

    02 小斑块处理-Majority/Minority处理

    2.1 什么是Majority/Minority处理?

    我对Majority处理的理解是先取一个区域(譬如3行4列的像元区域),然后在确定的区域里面再确定一个中心像元区域(这里是对中心像元区域进行处理),通过分析除中心像元之外的区域的像元,哪一种颜色的像元占比最大,那么中心像元的颜色就为占比最大的像元的颜色

    Minority处理正好相反,中心像元的颜色就为占比最小的像元的颜色

    更为官方的解释是:

    Majority/Minority分析采用类似于卷积滤波的方法将较大类别中的虚假像元归到该类中,定义一个变换核尺寸,主要分析(Majority Analysis )用变换核中占主要地位(像元数最多)的像元类别代替中心像元的类别。如果使用次要分析(Minority Analysis ),将用变换核中占次要地位的像元的类别代替中心像元的类别。

    2.2 Majority/Minority处理实操

     2.2.1 加载分类好的图像

    加载进来的分类图像展示

     2.2.2 找到 Majority/Minority处理 工具并点击打开

     2.2.3 输入分类图像文件

    2.2.4 Majority/Minority处理的相关参数设置

    2.2.5 处理前后的图像展示

    这里我创建了两个两个视图并进行了视图链接。

    02 小斑块处理-聚类处理

    看比较官方解释吧,聚类处理多用于空间连续性比较差的图像,一般分类好的图像中河流小湖泊什么的就可以用这个处理方法可以使得分类好的河流等线状地物连续性更好。

    聚类处理( clump)是运用数学形态学算子(腐蚀和膨胀),将临近的类似分类区域聚类并进行合并。分类图像经常缺少空间连续性(分类区域中斑点或洞的存在)。低通滤波虽然可以用来平滑这些图像,但是类别信息常常会被临近类别的编码干扰,聚类处理解决了这个问题。首先将被选的分类用一个膨胀操作合并到一块,然后用变换核对分类图像进行腐蚀操作。

    实操

    2.1 加载分类好的图像

     

    加载进来的分类图像展示

    2.2 找到  聚类处理  的工具并点击打开 

    2.3 输入分类图像设置 

     

     2.4 聚类处理核心设置

     聚类处理前后的图像对比展示

    03 小斑块处理-过滤处理

    过滤处理我说一下我的见解,大家可以参考。

    这里的过滤处理和前面的Majority分析看起来类似,但是其实还是有比较大的不同,

    这里是解决孤岛问题(十分形象,就是以某一个像元为中心画一个九宫格)

    那么怎么去处理呢?像元的颜色取决于周围像元和自己像元颜色的差异大小,如果周围像元没有一个和自己像元的颜色相同或者相似,那么无疑这种像元的差异性就很大。那么对于差异需要有衡量标准。这里给出阈值,如果和自己像元颜色相同或者相似的周围像元的个数小于阈值,那么我们称自己像元的差异大,过滤处理会把该像元删除并将其归为未分类的像元(那么经过过滤处理之后的图像应该有一些小黑点,这些是被剔除了的,因为它们和周围像素的差异不是一点点而不是特别大。)

    再来一个比较官方的解释吧。

    过滤处理(Sieve)解决分类图像中出现的孤岛问题。过滤处理使用斑点分组方法来消除这些被隔离的分类像元。类别筛选方法通过分析周围的4个或8个像元,判定一个像元是否与周围的像元同组。如果一类中被分析的像元数少于输入的阈值,这些像元就会被从该类中删除,删除的像元归为未分类的像元(Unclassified )。

     实操

     3.1 加载分类好的图像

     

    加载进来的分类图像展示

     

    3.2 找到 过滤处理 工具并点击打开

     3.3 输入分类图像文件

     

     经过过滤处理前后的图像对比展示

     04 分类统计

    分类好的图像中具体的分类情况你知道吗?如果想知道可以通过 分类统计 工具得知。

    比较官方且通俗的解释是:

    分类统计(Class statistics)可以基于分类结果计算相关输入文件的统计信息。基本统计包括:类别中的像元数、最小值、最大值、平均值以及类中每个波段的标准差等。可以绘制每一类的最小值、最大值、平均值以及标准差,还可以记录每类的直方图,以及计算协方差矩阵、相关矩阵、特征值和特征向量,并显示所有分类的总结记录。

    实操

    4.1 加载分类图像-略

    前面已经重复了很多遍(其实都是复制粘贴-.-)

    4.2 找到 分类统计 的工具并点击打开

     4.3 输入分类好的图像文件

     4.4 输入分类图像基于的原图像文件

     4.5 选择需要统计的类别

     4.6 输出设置

     4.7 分类统计结果展示

     05 分类叠加

    这个其实很好理解,就是你想把个别几种类别叠加到原始图像中去。当然你调整好图层顺序之后(看下图)再截屏其实就不错了,但是本着严谨的态度,前面的方法太过粗糙而且细节处理不够好。

     5.1 找到 分类叠加 工具并点击打开

     5.2 输入底图以及底图的参数设置

     5.3 输入分类好的图像(其中有很多类别的那个图像嘛)

       

     5.4 叠加的类别选择以及输出文件参数设置

     5.5 输出的分类叠加文件展示

    06 对图像进行线性拉伸并保存该线性拉伸的图像

    这个意思字如其意我就不过多解释了。主要是我们大部分进行拉伸都是使用的下面这个(图片如下),这个拉伸并不会保存到该图像所在的硬盘中(即下一次加载进来又是没有进行拉伸的)。

    6.1 找到 数据拉伸 的工具并点击打开

     6.2 输入需要进行拉伸的图像

    6.3 拉伸设置以及输出设置

     6.4 拉伸结果展示

     07 分类结果转矢量

    字如其意,就是将分类好的几种类别由栅格数据类型转换为矢量类型。

    7.1 找到 分类结果转矢量结果 工具并点击打开

     7.2 输入分类好的图像文件

     7.3 转矢量以及输出的相关参数设置

     

    炒茄子

  • 相关阅读:
    关于 re.sub 部分替换的解决办法
    [mit6.1810] Lab system calls
    Notepad++使用技巧
    docker进入容器报:Error response from daemon Container is not running
    【Tensorflow 2.12 电影推荐系统之召回模型】
    Cisdem Video Player for mac(高清视频播放器) v5.6.0中文版
    47.全排列II | 90.子集II
    【JAVA学习一:基础语法】
    Go语言学习笔记—golang指针与结构体
    .NET AsyncLocal 避坑指南
  • 原文地址:https://blog.csdn.net/m0_63001937/article/details/126871085
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号