【ENVI入门系列】13.分类后处理

2023-05-16

原文地址:【ENVI入门系列】13.分类后处理作者:ENVI-IDL中国

版权声明:本教程涉及到的数据提供仅练习使用,禁止用于商业用途。

目录

分类后处理    

1.    概述    

2.    分类后处理    

2.1    小斑块去除    

2.1.1    Majority和Minority分析    

2.1.2    聚类处理(Clump)    

2.1.3    过滤处理(Sieve)    

2.2    分类统计    

2.3    分类叠加    

2.4    分类结果转矢量    

2.5    ENVI Classic分类后处理    

2.5.1    浏览结果    

2.5.2    局部修改    

2.5.3    更改类别颜色    

3.    精度评价    

   

1.概述

        监督分类和决策树分类等分类方法得到的一般是初步结果,难于达到最终的应用目的。因此,需要对初步的分类结果进行一些处理,才能得到满足需求的分类结果,这些处理过程就通常称为分类后处理。常用分类后处理通常包括:更改分类颜色、分类统计分析、小斑点处理(类后处理)、栅矢转换等操作。

        本课程将以几种常见的分类后处理操作为例,学习分类后处理工具。

  • 在ENVI 5.x中,分类后处理的工具主要位于Toolbox/Classification/Post Classification/;
  • 在ENVI Classic中,分类后处理工具主要位于Classification > Post Classification。

 

2. 分类后处理

        以ENVI自带数据"can_tmr.img"的分类结果"can_tmr_class.dat"为例。数据位于"...13.分类后处理数据"。其他数据描述:

  • can_tmr.img —— 原始数据
  • can_tmr_验证.roi —— 精度评价时用到的验证ROI

 

2.1小斑块去除

        应用监督分类或者非监督分类以及决策树分类,分类结果中不可避免地会产生一些面积很小的图斑。无论从专题制图的角度,还是从实际应用的角度,都有必要对这些小图斑进行剔除或重新分类,目前常用的方法有Majority/Minority分析、聚类处理(clump)和过滤处理(Sieve)。

 

2.1.1 Majority和Minority分析

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

        下面介绍详细操作流程:

(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";

(2)打开Majority/Minority分析工具,路径为Toolbox /Classification/Post Classification/Majority/Minority Analysis,在弹出对话框中选择"can_tmr_class.dat",点击OK;

(3)在Majority/Minority Parameters面板中,点击Select All Items选中所有的类别,其他参数按照默认即可,如下图所示。然后点击Choose按钮设置输出路径,点击OK执行操作。

图:Majority/Minority Parameters面板参数设置

(4)查看结果如图所示,可以看到原始分类结果的碎斑归为了背景类别中,更加平滑。

        注:参数说明如下

  • Select Classes时,用户可根据需要选择其中几个类别;
  • 如果选择Analysis Methods为Minority,则执行次要分析;
  • Kernel Size为核的大小,必须为奇数×奇数,核越大,则处理后结果越平滑;
  • 中心像元权重(Center Pixel Weight)。在判定在变换核中哪个类别占主体地位时,中心像元权重用于设定中心像元类别将被计算多少次。例如:如果输入的权重为1,系统仅计算1次中心像元类别;如果输入5,系统将计算5次中心像元类别。权重设置越大,中心像元分为其他类别的概率越小。

图:原始分类结果(左),Majority分析结果(右)

 

2.1.2 聚类处理(Clump)

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

        下面介绍详细操作流程:

(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";

(2)打开聚类处理工具,路径为Toolbox /Classification/Post Classification/Clump Classes,在弹出对话框中选择"can_tmr_class.dat",点击OK;

(3)在Clump Parameters面板中,点击Select All Items选中所有的类别,其他参数按照默认即可,如下图所示。然后点击Choose按钮设置输出路径,点击OK执行操作。

图:Clump Parameters面板参数设置结果

(4)查看结果如下图所示,可以看到原始分类结果的碎斑归为了背景类别中,更加平滑。

        注:参数说明如下

  • Select Classes时,用户可根据需要选择其中几个类别;
  • Operator Size Rows和Cols为数学形态学算子的核大小,必须为奇数,设置的值越大,效果越明显。

图:原始分类结果(左),聚类处理结果(右)

 

2.1.3 过滤处理(Sieve)

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

        下面介绍详细操作流程:

(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";

(2)打开过滤处理工具,路径为Toolbox /Classification/Post Classification/Sieve Classes,在弹出对话框中选择"can_tmr_class.dat",点击OK;

(3)在Sieve Parameters面板中,点击Select All Items选中所有的类别,Group Min Threshold设置为5,其他参数按照默认即可,如下图所示。然后点击Choose按钮设置输出路径,点击OK执行操作;

图:Sieve Parameters面板参数设置

 

(4)查看结果如下图所示,可以看到原始分类结果的碎斑归为了背景类别中,更加平滑。

        注:参数说明如下

  • Select Classes时,用户可根据需要选择其中几个类别;
  • 过滤阈值(Group Min Threshold),一组中小于该数值的像元将从相应类别中删除,归为未分类(Unclassified);
  • 聚类领域大小(Number of Neighbors),可选四连通域或八连通域。分别表示使用中心像元周围4个或8个像元进行统计。

图:原始分类结果(左),过滤处理结果(右)

 

2.2 分类统计

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

        下面介绍详细操作流程:

(1)打开分类结果和原始影像——"13.分类后处理数据can_tmr_class.dat"和"can_tmr.img";

(2)打开分类统计工具,路径为Toolbox/Classification/Post Classification/Class Statistics,在弹出对话框中选择"can_tmr_class.dat",点击OK;

(3)在Statistics Input File面板中,选择原始影像"can_tmr.img",点击OK;

(4)在弹出的Class Selection面板中,点击Select All Items,统计所有分类的信息,点击OK;

注:可根据需要只选择分类列表中的一个或多个类别进行统计。

(5)在Compute Statistics Parameters面板可以设置统计信息(如下图所示),按照图中参数进行设置,点击Report Precision…按钮可以设置输入精度,按默认即可。点击OK;

图:统计结果参数设置面板

注1:统计功能包含三种统计类型,分别为:

  • 基本统计(Basic Stats):基本统计信息包括所有波段的最小值、最大值、均值和标准差,若该文件是多波段的,还包括特征值。
  • 直方图统计(Histograms):生成一个关于频率分布的统计直方图,列出图像直方图(如果直方图的灰度小于或等于256)中每个DN值的Npts(点的数量)、Total(累积点的数量)、Pct(每个灰度值的百分比)、和Acc Pct(累积百分比)。
  • 协方差统计(Covariance):协方差统计信息包括协方差矩阵和相关系数矩阵以及特征值和特征向量,当选择这一项时,还可以将协方差结果输出为图像(Covariance Image)。

        注2:输出结果的方式有三种:输出到屏幕显示(Output to the Screen)、生成一个统计文件(.sta)和生成一个文本文件。其中生成的统计文件可以通过以下工具打开:

  • ENVI 5.x:Toolbox/Statistics/View Statistics File
  • ENVI Classic:Classification > Post Classification > View Statistics File

        (6)如下图所示为显示统计结果的窗口,统计结果以图形和列表形式表示。从Select Plot下拉命令中选择图形绘制的对象,如基本统计信息、直方图等。从Stats for标签中选择分类结果中类别,在列表中显示类别对应输入图像文件DN值统计信息,如协方差、相关系数、特征向量等信息。在列表中的第一段显示的为分类结果中各个类别的像元数、占百分比等统计信息。

图:显示统计结果的窗口

 

2.3 分类叠加

        分类叠加(Overlay Classes)功能,可以将分类结果的各种类别叠加在一幅RGB彩色合成图或者灰度图像上,从而生成一幅RGB 图像。如果要想得到较好的效果,在叠加之前,背景图像经过拉伸并保存为字节型(8bit)图像,下面是具体操作过程。

(1)打开分类结果和原始影像——"13.分类后处理数据can_tmr_class.dat"和"can_tmr.img";

注:这里将原始影像的真彩色图像作为背景图像。

(2)打开拉伸工具(Toolbox/Raster Management/Stretch Data),在弹出的对话框中选择"can_tmr.img"文件,然后点击下方的Spectral Subset(如下图所示),在弹出面板中选择波段1、2、3,点击OK;

图:选择拉伸文件和波段选择

(3)在Data Stretching面板中,按照下图进行参数设置,点击OK即可;

图:拉伸参数设置

(4)打开分类叠加工具,路径为Toolbox/Classification/Post Classification/Overlay Classes;

(5)在打开的Input Overlay RGB Image Input Bands面板中,R、G、B分别选择拉伸结果"can_tmr_background.dat"的band 3、2、1,点击OK;

注:如果需要一个灰度背景,为RGB三个通道输入同样的波段即可。

图:选择背景图像的RGB波段组合

(6)在Classification Input File面板中选择分类图像"can_tmr_class.dat",点击OK;

(7)在Class Overlay to RGB Parameters面板中选择要叠加显示的类别(如下图所示),这里选择林地、裸地、沙地三个类别,设置输出路径,点击OK即可。

注:按住Ctrl键,点击鼠标左键可以实现多选。

图:选择要叠加显示的类别

(8)查看叠加结果,如下图所示。

注:可以通过File > Save As将"can_tmr_overlay.dat"转换为TIFF格式,这样使用普通图片查看器便可以进行浏览,并保持了背景拉伸效果与原始类别颜色。

图:叠加效果

 

2.4 分类结果转矢量

        可以利用ENVI提供的Classification to Vector工具,将分类结果转换为矢量文件,下面介绍详细操作步骤:

(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";

(2)打开转矢量工具,路径为Toolbox /Classification/Post Classification/Classification to Vector;

(3)在Raster to Vector Input Band面板中,选择"can_tmr_class.dat"文件的波段,点击OK;

(4)在Raster to Vector Parameters面板中设置矢量输出参数。这里选择林地和沙地两个类别,设置输出路径,点击OK即可。

        注:Output可选Single Layer和One Layer per Class两种情况。如果选择Single Layer,则所有的类别均输出到一个evf矢量文件中;如果选择One Layer per Class,则每一个类别输出到一个单独的evf矢量文件中。

图:输出矢量参数设置

(5)查看输出结果,打开刚才生成的evf文件,并加载到视图中。可以在图层列表右键点击矢量文件名(如下图左),选择Properties,在弹出面板中可以根据Class_Name修改不同类别的颜色,如下图(右)所示,修改林地和裸地分别为红色和蓝色,点击OK,最终效果如图所示。

 

图:设置矢量图层属性

图:矢量显示最终效果

 

2.5 ENVI Classic分类后处理

        以上的分类后处理在ENVI Classic和ENVI 5.x版本中均能完成,操作步骤基本一致。本节的操作需要在ENVI Classic下完成的,主要为局部手动修改、更改类别颜色等。

 

2.5.1 浏览结果

        打开ENVI Classic,使用File > Open Image File打开"can_tmr.img"和"can_tmr_class.dat"。在显示"can_tmr.img"的Display中,选择Overlay > Classification,打开Interactive Class Tool Input File面板中选择"can_tmr_class.dat",将分类结果叠加显示在Display上。如下图所示,可以勾选复选框进行类别的叠加显示。

图:Interactive Class Tool面板

 

2.5.2 局部修改

        对于局部错分、漏分的像元,可以手动进行修改。在Interactive Class Tool面板可利用两个工具进行修改。

  • 将一定范围内像元都并入其他一个类别中

        (1)在Interactive Class Tool面板中,选择Edit > Mode: Polygon Add to Class;

(2)在Interactive Class Tool面板中,鼠标左键单击"Unclassified"前面的方型色块,让"Unclassified"类别处于激活状态;

(3)选择一个编辑窗口:Image,在Image窗口中绘制多边形,多边形以内的像元全部归于"Unclassified"一类。

图:设置激活类别

  • 将一定范围内某一类像元并入其他一类中

        (1)在Interactive Class Tool面板中,选择Edit > Mode: Polygon Delete from Class;

(2)选择Edit > Set delete class Value,选择并入的目标类,以林地为例,如下图所示;

 

图:设置删除归入的目标类别

(3)在Interactive Class Tool面板中,鼠标左键单击"Unclassified"前面的方型色块,让"Unclassified"类别处于激活状态。

(4)选择一个编辑窗口:Image,在Image窗口中绘制多边形,多边形以内的类别"Unclassified"全部归于"林地"。

(5)选择Edit > Undo Changes,可以取消修改,选择File > Save changes to File,可以将修改结果保存。

 

2.5.3 更改类别颜色

(1)在Interactive Class Tool面板中,选择Option > Edit class colors/names,如下图所示,直接在对应的类别中修改颜色。

(2)在Class Color Map Editing面板中选择RGB、HLS或HSV其中一种颜色系统。单击"Color"按钮选择标准颜色,或者通过移动颜色调整滑块分别调整各个颜色分量定义颜色。选择 Options >Reset Color Mapping,可以恢复初始值。

        注:也可以根据一个显示的RGB影像来自动分配类别颜色,打开主菜单> Classification > Post Classification > Assign Class Colors。

图:分类颜色和名字的更改

 

3. 精度评价

        常用的精度评价的方法有两种:一是混淆矩阵;二是ROC曲线。其中,比较常用的为混淆矩阵,ROC曲线可以用图形的方式表达分类精度,比较形象。

        真实参考源可以使用两种方式:一是标准的分类图;二是选择的感兴趣区(验证样本区)。两种方式的选择都可以通过以下工具实现:

  • ENVI 5.x:/Classification/Post Classification/Confusion Matrix Using… 和ROC Curves Using…
  • ENVI Classic:Classification > Post Classification > Confusion Matrix和ROC Curves

        真实的感兴趣区参考源的选择可以是在高分辨率影像上选择,也可以是野外实地调查获取,原则是确保类别参考源的真实性。验证样本选择方法和训练样本的选择过程是一样的,这里不再赘述,直接使用"13.分类后处理数据can_tmr_验证.roi"作为验证样本。

        下面以ENVI 5.1为例,介绍详细操作步骤:

(1)打开分类结果影像——"13.分类后处理数据can_tmr_class.dat";

(2)打开验证样本,打开File > Open,选择"13.分类后处理数据can_tmr_验证.roi",在弹出的File Selection对话框(如下图所示)中选择"can_tmr_class.dat",点击OK;

图:选择与ROI绑定的文件

(3)选择混淆矩阵计算工具,路径为Toolbox/Classification/Post Classification/Confusion Matrix Using Ground Truth ROIs,在弹出面板中选择"can_tmr_class.dat",点击OK;

(4)软件会根据分类代码自动匹配,如不正确可以手动更改(下图左)。点击ok后选择混淆矩阵显示风格(像素和百分比,下图右);

图:验证操作面板

(5)点击OK,就可以得到精度报表(如下图所示)。

 

图:分类精度评价混淆矩阵

        这里说明一下混淆矩阵中的几项评价指标,如下:

  • 总体分类精度

        等于被正确分类的像元总和除以总像元数。被正确分类的像元数目沿着混淆矩阵的对角线分布,总像元数等于所有真实参考源的像元总数,如本次精度分类精度表中的Overall Accuracy = (2258/2346) 96.2489%

  • Kappa系数

        它是通过把所有真实参考的像元总数(N)乘以混淆矩阵对角线(XKK)的和,再减去某一类中真实参考像元数与该类中被分类像元总数之积之后,再除以像元总数的平方减去某一类中真实参考像元总数与该类中被分类像元总数之积对所有类别求和的结果。Kappa计算公式如下:

  • 错分误差

        指被分为用户感兴趣的类,而实际属于另一类的像元,它显示在混淆矩阵里面。本例中,总共划分为林地有441个像元,其中正确分类418个,23个是其他类别错分为林地(混淆矩阵中林地一行其他类的总和),那么其错分误差为23/441=5.22%。

  • 漏分误差

        指本身属于地表真实分类,当没有被分类器分到相应类别中的像元数。如在本例中的林地类,有真实参考像元419个,其中418个正确分类,其余1个被错分为其余类(混淆矩阵中耕地类中一列里其他类的总和),漏分误差1/419=0.24%

  • 制图精度

        是指分类器将整个影像的像元正确分为A类的像元数(对角线值)与A类真实参考总数(混淆矩阵中A类列的总和)的比率。如本例中林地有419个真实参考像元,其中418个正确分类,因此林地的制图精度是418/419= 99.76 %。

  • 用户精度

        是指正确分到A类的像元总数(对角线值)与分类器将整个影像的像元分为A类的像元总数(混淆矩阵中A类行的总和)比率。如本例中林地有418个正确分类,总共划分为林地的有441,所以林地的用户精度是418/441=94.78%。

        注:监督分类中的样本选择和分类器的选择比较关键。在样本选择时,为了更加清楚的查看地物类型,可以适当的对图像做一些增强处理,如主成分分析、最小噪声变换、波段组合等操作,便于样本的选择;分类器的选择需要根据数据源和影像的质量来选择,比如支持向量机对高分辨率、四个波段的影像效果比较好。

 

教程下载:http://pan.baidu.com/s/1dD1phJz

数据下载:http://pan.baidu.com/s/1bn0DoZH

视频下载:http://pan.baidu.com/s/1jGCAqDw

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ENVI入门系列】13.分类后处理 的相关文章

  • ESP32学习笔记22-TWAI-CAN

    22 TWAI CAN 22 1概述 22 1 1参考博客 ESP32 基于自带控制器实现CAN总线通信 上 知乎 zhihu com ESP32 基于自带控制器实现CAN总线通信 下 知乎 zhihu com 22 1 2 ESP32 T
  • Python str和bytes的相互转换

    str0 61 39 abc 39 a 61 bytes str0 39 utf 8 39 print type str0 str0 print type a a print 39 39 c 61 bytes 97 98 99 100 pr
  • wxpython 基本的控件 (按钮)

    在wxPython 中有很多不同类型的按钮 这一节 xff0c 我们将讨论文本按钮 位图按钮 开关按钮 xff08 toggle buttons xff09 和通用 xff08 generic xff09 按钮 如何生成一个按钮 xff1f
  • FreeRTOS系列|处理器利用率

    处理器利用率 1 处理器利用率统计的作用 处理器利用率其实就是系统运行的程序占用的CPU资源 xff0c 表示机器在某段时间程序运行的情况 xff0c 如果这段时间中 xff0c 程序一直在占用CPU的使用权 xff0c 那么可以认为CPU
  • QT 多线程使用QTcpSocket

    本人亲测使用moveToThread xff08 xff09 的方式可以 xff1b 不存在报错 xff0c 警告 include 34 widget h 34 include 34 ui widget h 34 Widget Widget
  • ESP8266天猫精灵接入流程

    Blinker天猫精灵接入流程 设备上线 设置接入的设备类型 设置接入设备的auth Key 设置SSID PSWD 或者选择 ESPTOUCH等配网方式 下载代码等待设备接入上线成功 authKey对应的设备若需要更换接入的设备类型 xf
  • 存储器的分类

    目录 01 ROM 02 非易失性RAM 2 1原理 2 2发展 2 3 摩尔定律 03 易失性RAM 3 1原理 3 2发展 3 3总结 04 总结 储器类型有很多 xff0c 常见的有ROM xff08 Read onlymemory只
  • RT - thread学习(一)

    目录 一 RT thread介绍 二 RT thread移植 首先我们先在官网获取 编辑 对无关的文件进行剪裁 剪裁后的内核文件移植到sdk文件 配置内核文件 一 RT thread介绍 rt thread是国产的一款开源的实时操作系统 这
  • 机器学习基本概念

    文章目录 深度学习和机器学习NLP xff08 Natural language processing xff09 Confusion Matrix 混淆矩阵ROC xff08 Receiver Operator Characteristi
  • ROS Kinetic中OpenCV使用

    ROS Kinetic中OpenCV使用 本文主要记录了ROS Kinetic中OpenCV的使用 xff0c Kinetic完全安装中本身自带了Opencv3 3 1 xff0c 因此在ROS中可以直接用ROS自带的Opencv3 3 1
  • ROS下gazebo不能加载willowgarage世界

    在打开gazebo ros打开williowgarage的时候 xff0c 能够找到willowgarage world的文件 xff0c 但是gazebo不能够加载这个模型 xff0c 主要原因是gazebo的model里面并没有mode
  • Mac OS下安装串口调试工具minicom

    最近在做一个Mac下的ssh调试工具 xff0c 但是出现了一点问题 后来发现居然Mac下有串口调试工具可以用 xff0c 所以果断换串口了 xff0c 是普通PL2303芯片的usb转串口线 接下来说下简单的安装步骤吧 我是勤劳的搬砖工
  • Eclipse等IDE配置Anaconda/Python3开发环境(win10_x64)

    分诊台 正所谓 洞庭揽物 xff0c 各有所怀 xff0c 博客点击 xff0c 也是各有所需 为了能让读者节约时间 xff0c 本小百姓 xff0c 写博客时尽力将博客内容各部分内容解耦 xff0c 但仍保持一定的连贯性 xff0c 并参
  • Linux(树莓派)系统中判断WiFi是否连接上路由器的方法

    之前 xff08 https blog csdn net u010299133 article details 105823339 xff09 介绍过在Linux系统中使用wpa supplicant连接到指定的WiFi路由器的方法 xff
  • FreeRTOS系列|任务相关API函数

    任务相关API函数 1 任务相关API函数 FreeRTOS中有很多与任务相关的API函数 xff0c 大多数是辅助函数 下表是这些与任务相关的API函数功能和描述简介 函数名功能描述uxTaskPriorityGet 查询某个任务的优先级
  • 无人机通信协议:MavLink协议使用

    mavlink的数据封装的结构体以及封装解析的函数都在mavlink代码库中的头文件中 主要的结构体 xff1a E mavlink mavlink include v1 0 mavlink types h MAVPACKED typede
  • 【计算机视觉】Lecture 16:平面单应变换

    动机 xff1a 在平面上的点 回顾 xff1a 正向投影 世界坐标系到相机坐标系的变换 透视矩阵方程 xff08 相机坐标系到成像坐标系 xff09 成像坐标系到像素坐标系 从成像坐标 xff08 x xff0c y xff09 到像素坐
  • 【计算机视觉】Lecture 20:八点法

    提醒 本质 基础矩阵 本质矩阵和基础矩阵都是 3x3 的矩阵 xff0c 用于 编码 两个视图的对极几何 动机 xff1a 给定一张图像中的一个点 xff0c 乘以本质 基础矩阵将告诉我们在第二个视图中沿着哪个极线搜索 本质 基础矩阵总结
  • 【计算机视觉】Lecture 23:光流估计

    流估计 主要概念 xff1a 亮度08好恒定方程 孔径问题 Lucas Kanade算法 回顾 xff1a 由于自身运动产生的场 流 xff08 Flow xff09 xff1a 旋转分量不依赖于场景结构 平移分量随场景 Z 值的变化而变化
  • 【计算机视觉】Lecture 24:视频变化检测

    视频基础 每秒30帧 每一幅图像的处理时间不会太多 因此 xff0c 实时算法往往非常简单 视频图像的主要特征之一是帧间的时间一致性 在1 30秒内帧间变化不大 xff01 检测移动的对象 假设 xff1a 移动的对象是非常重要的 xff0

随机推荐

  • Eigen中基本和常用函数

    Eigen 中矩阵的定义 span class token macro property span class token directive keyword include span span class token string lt
  • 基于四元数的存在外点Wahba问题的可证明最优解

    论文地址 论文视频 文章导读 为什么这次要解读这篇文章 xff1f 因为上次文章 xff08 详见 TEASER 快速且可证明的点云配准算法和代码解读 xff09 旋转求解部分就是用本文中的方法 xff0c 所以本文算是TEASER方法的前
  • 极端外点率下鲁棒配准的多项式时间解

    论文地址 论文视频 文章导读 为什么要解读这篇文章 xff1f 因为之前接连介绍该作者的两个工作 xff0c TEASER 快速且可证明的点云配准算法和代码解读 和 基于四元数的存在外点Wahba问题的可证明最优解 xff0c 前者的未知有
  • 基于拉格朗日对偶的凸全局三维配准

    论文地址 文章导读 最近自己的工作有借鉴这篇文章中用到的拉格朗日对偶 xff0c 然后就细读了文章的内容并且分析了对应的代码 拉格朗日对偶属于凸优化的范畴 xff0c 详细的定义和理论可以在 Convex optimization 一书中进
  • PX4的软件在环仿真

    一 Linux ROS Nodes单机仿真 1 安装ROS Kinetic xff08 参考http wiki ros org kinetic Installation Ubuntu xff09 1 1 添加软件源 sudo sh c ec
  • 让STM32CubeMX带你飞,菜鸟秒变STM32高手

    让STM32CubeMX带你飞 xff0c 菜鸟秒变STM32高手 STM32CubeMX是ST意法半导体近几年来大力推荐的STM32芯片图形化配置工具 xff0c 允许用户使用图形化向导生成C 初始化代码 xff0c 可以大大减轻开发工作
  • Release file for http://xxx/ubuntu/dists/bionic-updates/InRelease is not valid yet报错解决

    参考 https blog 51cto com 5437315 2420097 中说明的原因 原因 xff1a 系统时间与网络时间 xff08 仓库 xff09 的不同导致更新错误 按照这个原因解释 xff0c 我查看了自己虚拟机内ubun
  • 如何在keil官网上下载 STM32包 pack

    https www 360kuai com pc 990a8ec633cf2109c cota 61 4 amp tj url 61 xz amp sign 61 360 57c3bbd1 amp refer scene 61 so 1
  • Makefile学习笔记系列1:一个简单的Makefile

    开启Makefile系列学习前 xff0c 先来个简单的 xff0c 没有子目录结构的例子 xff0c 只有一个makefile文件 目录结构 xff1a Makefile代码 xff1a XX 61 g 43 43 CFLAGS 61 g
  • PID控制算法的C语言实现

    PID控制算法的C语言实现一 PID算法原理 最近两天在考虑一般控制算法的C语言实现问题 xff0c 发现网络上尚没有一套完整的比较体系的讲解 于是总结了几天 xff0c 整理一套思路分享给大家 在工业应用中PID及其衍生算法是应用最广泛的
  • pageCache

    写在前面 在开始正式的讨论前 xff0c 我先抛出几个问题 xff1a 谈到磁盘时 xff0c 常说的HDD磁盘和SSD磁盘最大的区别是什么 xff1f 这些差异会影响我们的系统设计吗 xff1f 单线程写文件有点慢 xff0c 那多开几个
  • 基于Python高光谱遥感影像处理实例

    前言 在写波段配准相关代码时经常需要用到tif影像的波段合成和分解 xff0c 虽然可以用ENVI才处理 xff0c 但是每次都要打开再设置一些参数有些麻烦 xff0c 所以本着 独立自主 自力更生 的原则就写了些脚本来处理这个需求 又写了
  • 基于SIFT的图像Matlab拼接教程

    前言 图像拼接技术 xff0c 将普通图像或视频图像进行无缝拼接 xff0c 得到超宽视角甚至360度的全景图 xff0c 这样就可以用普通数码相机实现场面宏大的景物拍摄 利用计算机进行匹配 xff0c 将多幅具有重叠关系的图像拼合成为一幅
  • PERSIANN 降雨数据使用教程

    一 前言 PERSIANN xff0c 使用人工神经网络从遥感信息中估算降水 xff0c 是一种基于卫星的降水检索算法 xff0c 可提供近乎实时的降雨信息 该算法使用来自全球地球同步卫星的红外 IR 卫星数据作为降水信息的主要来源 红外图
  • 基于Pyqt5快速构建应用程序详细教程

    一 介绍 图形用户界面 xff0c 更广为人知的名称是 GUI xff0c 是当今大多数个人计算机的一个特征 它为不同计算技能水平的用户提供了直观的体验 尽管 GUI 应用程序可能会使用更多资源 xff0c 但由于其点击式特性 xff0c
  • 基于Python的PROSAIL模型介绍以及使用

    1 介绍 PROSAIL是两种模型耦合得到的 SAIL是冠层尺度的辐射传输模型 xff0c 把冠层假设成是连续的且具有给定几何形状和密度的水平均匀分布的介质层 xff0c 从而模拟入射辐射与均匀介质之间的相互作用 xff0c 具体还是挺复杂
  • 可能是最全的FreeRTOS源码分析及应用开发系列

    可能是最全的FreeRTOS源码分析及应用开发系列 FreeRTOS 是一个可裁剪的小型且免费的 RTOS 系统 xff0c 尺寸非常小 xff0c 可运行于微控制器上 其特点包括 xff1a 内核支持抢占式 xff0c 合作式和时间片调度
  • 关于VS中LNK1120与errorLNK2019问题

    最近遇到了该问题 xff0c 再查找了一些资料后 xff0c 发现了针对自己问题的解决方法 xff0c 贴出来让大家一起学习一下 其实如果这两个问题同时出现 xff0c 很可能不是链接库缺了lib xff0c 而是编译中添加的源没有被实例化
  • PCL—低层次视觉—点云分割(基于凹凸性)

    转自 xff1a http www cnblogs com ironstark p 5027269 html PCL 低层次视觉 点云分割 xff08 基于凹凸性 xff09 1 图像分割的两条思路 场景分割时机器视觉中的重要任务 xff0
  • 【ENVI入门系列】13.分类后处理

    原文地址 xff1a ENVI入门系列 13 分类后处理 作者 xff1a ENVI IDL中国 版权声明 xff1a 本教程涉及到的数据提供仅练习使用 xff0c 禁止用于商业用途 目录 分类后处理 1 概述 2 分类后处理 2 1 小斑