基于遥感卫星影像水体提取方法综述

news2024/11/27 17:38:02

水体提取分类依据及基础

水体提取分类依据
水体提取的方法很多,很多学者也进行了分类,大体上有一个分类框架,主要是基于光学影像的分类,比如王航等[7]将水体提取分成3类,分别是基于阈值法、分类器法和自动化法; 李丹等[8]更深一步进行总结,引入近些年发展火热的基于雷达影像数据的水体提取,总体而言,水体提取主要以光学影像信息为主,雷达影像是近些年发展起来并迅速应用到水体提取的领域之中,基于此在该分类基础上从数据源角度下细化具体的提取方法及应用领域,具体的分类方法如图1所示。

在这里插入图片描述

图1 水体提取方法分类

水体提取基础
卫星遥感影像是基于不同地物对电磁波的不同反应及地物本身的热辐射信息产生,江河湖泊的水一般不是纯净水,主要由透射入水的光与水中叶绿素、泥沙、水深及其热特征等相互作用的结果,所以水体一般在遥感影像上呈现为绿色的[7]。基于上述原理,水体在光谱反应上一般在蓝绿光波段吸收率较低,其他波段尤其是红外波段吸收率很高,而植被和土壤在这2个波段吸收的能量较小,反射率较高,这使得水体在这2个波段与植被和土壤有明显区别[9]。因此在遥感中常利用近红外波段构建模型提取水体信息,水体在电磁波各波谱段上反映的特征是利用遥感技术提取水体的基础[10]。典型的地物光谱特征曲线如图2所示。

在这里插入图片描述

图2 典型地物的光谱特征曲线[5]

水体提取方法
基于光学影像的水体提取
阈值法

阈值法也称为模型分类法,通过分析水体光谱特征曲线选择合适的波段构建模型,在模型处理基础上选择合适的阈值分离水体,阈值法又可分为单波段法和多波段法,其中多波段法还可分为谱间关系法和水体指数法。

1)单波段法。早期遥感影像的水体提取主要基于单波段法,利用水体在近红外或中红外波段强烈吸收特征来识别水体信息。Frazier等[11]分别利用TM4,TM5和TM7波段采用阈值法进行澳大利亚Wagga湖的水体进行提取,结果表明TM5提取效果更好; 毕海芸等[12]采用TM影像,通过对比单波段法、多波段谱间关系法和水体指数法3种方法,确定单波段法一般适用于地势平坦、背景简单的地区。但单波段法已逐渐被多波段法取代,大部分研究都是融合单波段法和多波段法协同提取水体信息。

2)多波段法。遥感影像不单只有一个波段,早期的影像,比如Landsat系列影像都具有至少4个波段,利用不同波段之间的相互关系进行水体提取比单一波段的提取效果更好,基于多个波段的水体提取方法占据水体提取的主要地位,主要分为谱间关系法和水体指数法。

谱间关系法主要通过分析地物在遥感影像原始波段,或者原始波段转换得到的特征波段的光谱特征曲线,构建逻辑判断规则来提取水体。周成虎等[4]基于TM影像分析发现水体具有灰度值TM2+TM3>TM4+TM5的谱间特征,从而实现水体信息提取; 汪金花等[13]利用唐山地区影像分析构建了谱间关系和比值模型(TM2+TM3)-(TM4+TM5)>0且TM4/TM2<0.9来提取水体信息,能够一定程度抑制阴影和建筑区的影响,对细小河流的提取效果不太好,比较适合山区水体的提取; 都金康等[10]通过试验得出,多波段谱间关系法比较适合地形起伏较小的地区,对阴影比较敏感,对谱间关系法进行修正和补充才能使其更好地适用于山地区域。

单波段法与谱间关系法受限比较多,因此,Mcfeeters[5]利用TM影像在绿光波段和近红外波段构建了NDWI,它能够很好抑制植被信息,同时消弱了土壤、建筑物和阴影的影响,突出水体信息。水体指数法通过分析水体光谱特征选取与水体识别密切相关的波段,构建不同的水体指数模型并给定相应的阈值,实现对水体信息的提取。目前,多波段法中水体指数法的应用频次最高。然而,不同的背景信息对水体提取精确性的影响不同,NDWI不能很好地适合所有的现实状态。在此基础上,后面的研究学者根据不同的背景地物,结合水体光谱特征,提出了多种相关的水体指数,表1按照时间发展总结的常用水体指数提取方法。

在这里插入图片描述

分类器法

随着信息时代飞速发展,遥感数据向高空间分辨率影像发展,传统的单波段阈值法和多波段阈值法主要基于中低空间分辨率影像,对边缘部分提取不准确,不适用于细小水体信息的提取,从而影响水体提取的精度。高空间分辨率卫星影像具有丰富的空间及纹理信息,研究者们通过结合光谱、空间和纹理等特征构建了影像分类提取的方法,能够进行更精细的水体信息提取。目前水体提取中采用机器学习方法主要有SVM法、决策树法和面向对象法,其中以面向对象法应用最广。

1)SVM法。SVM分类法是一种建立在统计学习理论基础上的机器学习方法[23]。在样本量较少的情况下,也能获得良好的分类结果[24]。SVM方法性能主要取决于核函数类型的选择和核函数参数的设置[25]。基于上述理论知识,段秋亚等[26]在鄱阳湖区选取2块不同尺度和复杂度的GF-1卫星影像,分别采用SVM、面向对象法和水体指数法进行水体提取,结果表明SVM的提取精度最高; Paul等[27]的研究表明,即使标记样本数量较少,SVM分类方法也能较好地从遥感影像中提取水体信息; 张德军等[28]基于GF-1数据利用SVM进行三峡库区水体提取,发现SVM总体精度良好,但是在细节方面,如河流边界、细小图版处理不好,需要结合其他方法一起处理。

2)决策树法。决策树分类是一种基于空间数据挖掘和知识发现的分类方法[29],通过不同的分类属性实现数据的分类。其算法的关键是分类属性的选择,最著名的算法是ID3系列,主要包括ID3,C4.5,C5.0这3个版本[30]。决策树法分类规则结构简单、直观、容易理解,易于后期修正,能够有效抑制训练样本噪声,并有效解决影像数据属性缺失问题[31]。都金康等[10]利用SPOT4影像,采用决策树模型结合阈值和形状指数有效去除了水中的阴影; 陈超等[32]基于面向灾后的水体,利用决策树模型,在影像分割的基础上,结合影像的空间、几何、光谱及纹理信息,有效提取灾后复杂的水体。

3)面向对象法。传统基于像元的分类方法得到的提取信息比较细碎,而且因为影像分辨率的问题,边缘区域混合像元往往会导致提取不准确。根据一些学者的研究表明[33,34]在可见光—近红外范围内,水体的光谱特性与水面粗糙度或纹理有关,高分影像的出现,使得水体提取可以兼顾到水面纹理信息,使目标从像素层次上升到对象层次[35]。影像分割是面向对象分类的关键[36],面向对象法通过各种分割算法使同质像元组成大小不同的对象,从而实现以对象为单元的影像信息提取[37]。易康软件是现有最常用的分割软件,其中多尺度分割算法是现今面向对象最常用的分割方法。毛莹莹等[38]采用Sentinel-2数据,通过结合NDWI和面向对象方法,选择了山区和城区影像分别进行水体信息提取,结果表明面向对象的提取精度更高。在城市区域的水体提取中水体受阴影的干扰较大,徐涛等[39]在进行多尺度分割后,结合了光谱信息和空间拓扑关系较好地区分了城市的阴影和水体; 王俊海等[40]在利用简单的光谱信息、形状信息的基础下结合纹理信息很好区分了城市阴影对水体影响。细小水体的精确提取是水体提取的难点,崔齐等[6]提出一种基于面向对象技术的矢量约束实现高空间分辨率遥感影像水体提取的方法,该方法不仅能有效抑制建筑物和地物阴影等的影响,而且可以准确提取细小水体信息。

面向对象方法水体提取与传统的基于像元的阈值法相比精度更高,具有良好的抗噪能力,能够利用更加丰富的空间及纹理信息,使得水体提取的精度更高。

其他方法

水体提取的方法除了上述传统的方法,还有不少学者在这基础上探索研究了一些新的方法,这些方法对于某些区域或者不同传感器的影像提取的效果更好,精度更高。主要包括基于GIS技术、混合像元分解、BP神经网络、MRF随机场、光谱角匹配及深度学习的方法,其中以深度学习为主,是近年来的研究热门。

1)基于GIS技术辅助。阈值法和分类器法在背景地物简单,水体物化构成相对一致的大面积水域、河流、湖泊已初步实现快速自动提取,然而现实中,多数水体非纯净水,无法进行阈值法和分类器法的自动提取。借助于ArcGIS软件水文分析模块生成水系图,利用空间分析缓冲区工具在河道两侧进行缓冲扩张,形成河流提取目标区域,利用“全局-局部”[41]方法进行水体提取能有效改善这一问题。Sui等[42]借助于GIS技术整合了初始水体提取、迭代分割、变化检测3个模块,实现了水体提取过程的自动化; 杨旭等[43]基于RS与GIS技术,利用NDWI并结合波段信息提取了流域主干河流和面状水域。结合GIS实现水体的提取有助于实现水体的自动化提取进程,提高水体提取精度。

2)基于混合像元分解。水体反射率光谱由于是多种水质参数综合作用的结果,本质上是一种混合光谱。现有的水体提取方法大多以像元为基础,中低空间分辨率的影像受混合像元干扰较大,影响水体提取精度,所以深入像元内部,从亚像元的角度提取水体,有助于水体提取精度的提升。王铭[44]基于东北地区混合像元分解的方法有效提取了该区域水体,对于细小河流水体的提取精度相较于传统方法有了明显的提高,但是过程计算更复杂一点; 孔美美[45]利用FCLS混合像元分解法实现了杏林湾水库的提取及变化检测,提取精度更高,适用于水库水体的提取。

3)基于BP神经网络。人工神经网络(artificial neural network,ANN),由于其非线性、容错性、自适应性等特征,近年来在遥感领域中得到了广泛的应用。其中采用误差反向传播算法训练的BP神经网络最为常用,并且在影像分类以及模式识别等领域表现出了较好的性能。杨文亮等[46]在TM影像中利用BP神经网络结合4个特征信息在不设置阈值的情况下实现较高精度水体信息提取; 王知音[47]利用BP神经网络综合提取水体的各种特征,对于大面积水体、河流及浅水区有较好的提取效果。

4)基于MRF随机场。近年来,基于MRF模型的图像分割算法广泛运用于各种目标与背景分界不清晰、前景背景相似等情况复杂的图像中提取目标。适合水体边缘与水体边界交界处存在浅滩、水坑等混杂区域的水体提取。李士进等[48]针对阈值法和分类器法在水陆边界提取不够精确、易产生误提取和漏提取等问题,提出一种基于混合特征空间与MRF模型图像分割算法的水体提取新算法,该方法通过实验表明能够自动对周边环境复杂的水库水体信息进行较高精度的提取; 唐德可等[49]基于SAR数据有效利用MRF模型通过实验实现了洪涝受灾区域的快速、精确水体提取。

5)基于光谱角匹配。高光谱遥感的发展及其所具有的波段众多、光谱精细的独特特征,为专题信息提取开辟了一个新的有力途径。光谱角匹配法主要是依据地物光谱曲线的差异来进行地物分类,是监督分类的一种。齐庆超等[50]分别利用水体指数法和波段关系提取和光谱角匹配算法对黄河小浪底水库周边区域进行水体提取,实验结果表明光谱角匹配法受阴影影响较小提取精度在99%以上; 张伟等[51]提出了一种改进光谱角匹配的水体信息提取方法,实验对比分析了该方法与传统方法的水体信息提取结果,结果表明,该方法相较传统方法在区分水体与云阴影表现良好,水体提取精度较高。

6)基于深度学习。采用遥感数据提取水体信息已有很多方法,这些方法的适用性并不强,自动化程度不高。深度学习作为近几年高新技术最突出的代表,自2006年,Hinton团队在科学杂志上公开发表相关研究内容后,便在各行业引起广泛关注[52]。深度学习方法具有强大的特征表达能力、可以通过深度神经网络结构自动从数据中提取特征学习等独特优势[53],是实现水体的全自动提取的关键。基于传统方法的水体提取逐渐向基于机器学习和深度学习方向发展,一些学者做了一些研究[54,55],其中以深度卷积神经网络为主。王雪等[56]分别运用构建的全卷积神经网络模型及传统的阈值法和基于图论的GrabCut算法进行水体提取试验,结果表明,全卷积神经网络模型比传统的阈值法和基于图论的GrabCut算法提取水体自动化程度更高、适用性及提取精度更好; 梁泽毓[57]基于多元遥感数据下的深度学习方法,完成了长江安徽段的水体提取,实现了水体的全自动化提取。

基于雷达遥感数据提取方法
SAR图像虽然具有空间分辨率较低和噪声较多的特点,但是在浅水和阴影区域可以提供有价值的信息。所以利用雷达数据的优势能够有助于水体的提取。目前,基于雷达遥感数据的水体信息提取方法以灰度阈值分割法、基于DEM数据滤波法和基于灰度共生矩阵纹理信息的方法居多。

1)阈值法。阈值法是雷达影像水体提取比较常用的一种方法。SAR图像的灰度阈值分割法是依据表面近似平滑的水体在SAR图像中散射值低、表现为暗区的特点,通过阈值将影像分为水体与非水体的二值图。目前应用较多的灰度阈值分割法主要包括最大类间方差算法、熵阈值法及双峰直方图法等。曹云刚等[58]利用ASAR数据,基于阈值的方法实现了水体的提取; 申邵洪等[59]提出了一种基于KI算法的水面信息自动变化检测方法,快速准确地提取出水体信息; 李景刚等[60]设计了改进的最大类间方差阈值法进行实验,结果表明,改进方法确定的最优阈值比双峰法和Otsu法提取出来的水体信息精度更高。

2)基于DEM数据。当SAR图像所对应的区域为多山地区时,由于地形的原因会在SAR图像上产生地形阴影,用阈值法进行水体提取这些阴影也会被当作水体提取出来。因此利用DEM模拟SAR并依据阴影亮度值低的特征,从模拟SAR图像中将阴影提取出来,就可以剔除水体中的阴影部分。杨存建等[61]结合SAR和DEM数据消除了水体中阴影,实现了洪水的半自动提取; Hong等[62]结合SAR、光学影像和DEM数据提高了水体信息提取的精度。

3)基于滤波法。针对相干斑噪声在水体提取中的影响,滤波法是目前应用比较多且有效的方法。主要以基于小波变换和形态学滤波为主,应用不同的滤波算法来抑制SAR图像的斑点噪声,进而提高水体的提取效率和精度。王栋等[63]从灰度数学形态学基本运算入手,构成一种序列非线性滤波模型可以有效提取SAR图像中低亮度目标区域的水体区域; Klemenja等[64]结合形态学滤波和监督分类方法,自动选择训练样本提取河网,结果表明在不需要任何额外用户输入的前提下,该方法可以应用于不同的数据集。但是,基于小波变换和各种算法得到的水体边缘线不够连续光滑,而且形态学滤波由于形态结构元素的存在会引起边缘特征的误差,检测精度较低。

4)基于灰度共生矩阵。随着SAR图像空间分辨率的不断提高,SAR图像亮度范围扩大,且纹理结构信息更加丰富。描述纹理特征的方法以灰度共生矩阵GLCM的应用最为广泛,主要是基于灰度共生矩阵提取纹理特征,建立多维特征空间,通过样本采集,可以减弱SAR图像的斑点噪声,使分类结果的“椒盐现象”明显减少,提高了水体的提取精度。Lyu等[65]结合灰度共生矩阵与SVM来提取水体目标区域,与传统的阈值法相比,该方法能更好地区分水域和其他地形; 胡德勇等[66]基于纹理信息以及SVM分类研究了单波段单极化SAR图像水体和居民地信息提取方法准确地提取了水体和居民地信息。但是,基于灰度共生矩阵提取纹理信息的计算量很大,灰度量化导致损失大量的纹理信息,纹理提取的窗口大小也需要不断调试。

光学与雷达遥感数据结合的提取方法
光学影像具有高空间分辨率和丰富的光谱信息,但是在水体识别时受云层和阴影的影响较大,而SAR图像其主动性探测的特性在浅水和阴影区域可以提供有价值的信息,对于光学影像提取比较困难的地方可以进行优势的互补。近些年一些研究者通过结合SAR和光学遥感影像,或者辅助DEM等信息,大体上利用光学遥感进行水体的粗提取,在粗提取基础上利用雷达影像结合DEM数据进行水体的精细提取,构建相应的模型来实现对水体的提取。Zeng等[67]利用光学影像和SAR影像结合实现了水体提取; Irwin等[68]建立SAR、光学遥感影像和机载激光雷达3个数据集的融合分类模型,通过最小化单个数据集模型之间的差异实现水体的高精度提取。

对于阴影区域较多或精细化的水体提取,利用光学影像结合SAR影像的水体提取是一个可行而且精度较高的方法,目前这类方法虽然研究比较少,但是随着SAR影像的普及和分辨率的提高,对于SAR影像关于水体提取的研究将会成为热门的研究方向。

水体提取的比较分析
横向比较
光学遥感水体提取的比较

1)阈值法与分类器法的比较。传统的水体指数法、多波段谱间关系法大部分是基于包含中红外、短波红外波段的中低空间分辨率遥感影像构建的,受影像质量及提取方法的影响,对水陆分界比较明显的湖泊及较大河流干流的水体提取有比较好的效果,但是对细小水体的提取效果一般较差。对于高空间分辨率遥感影像的水体信息提取,一般不包含中红外和短波红外波段,更多的是采用SVM、决策树法和面向对象法,这些方法利用了高分影像中的光谱、形状和纹理等影像信息,提取的精度相对于阈值法来说更高。虽然SVM提取精度较高,但是提取结果受样本影响; 决策树法受冰雪和薄云影响不大,但是受山体阴影影响较大; 面向对象法受分割阈值和分类准则的影响较大,经验性较强。

总体而言,阈值法具有操作简单、实现容易、适用性较强的特性,一般适用于地势平坦、背景简单大区域的中低空间分辨率水体提取,具有快速实现水体提取的优点,在生产中应用较多,但是对于细小水体的提取效果不太理想,分类器法具有应用广泛,提取精度高但实现过程相对复杂的特点,主要应用在高分影像,能够有效利用其丰富的空间及纹理信息,研究者们通过结合光谱、空间和纹理等特征构建了影像分类提取的方法,能够进行更精细的水体信息提取。

2)传统方法与其他方法的比较。传统方法主要是阈值法和分类器法,这些方法的发展比较成熟、应用比较广泛、适用性也比较强,但是对于特殊地区、影像或精度要求比较高的情况下,传统方法不一定能达到水体提取要求,本文所阐述的其他方法主要是针对不同地区或者不同影像数据产生的条件型算法,算法的实现速度效率相对于传统方法较慢,在某些条件下或者对提取精度有很高要求下进行相应的方法应用,在实际的生产生活中应用较少,主要应用在科研领域,这些方法的适用性较差,算法的实现过程较复杂、效率不如传统方法高。

雷达影像的水体提取比较

随着SAR图像近些年的快速发展,分辨率的提高,基于SAR图像的水体提取日益增多,整体来说阈值法的优点是速度快、原理简单、适用于低噪声、图幅较小的平坦地区SAR图像的水体提取。滤波法是目前应用比较多且有效的方法,可以较好地抑制SAR图像的斑点噪声,进而提高水体的提取效率和精度,相比较阈值法实现过程复杂一点。上述方法对于阴影的抵抗能力较弱,利用DEM模拟SAR图像,能够有效剔除水体中的阴影,所以DEM在山区地区的水体提取有着非常重要的作用。纹理灰度共生矩阵结合水体本身的纹理信息以及水体的一些几何信息等,减少其他地物对水体信息提取的干扰。使分类结果的“椒盐现象”明显减少,提高了水体的提取精度,但是相应方法的实现及提取的效率会下降,适合用于水体精度较高,细小水体及河流较多的水体提取。

纵向对比
从成像特点来看,光学影像与雷达影像呈现互补的现象,光学影像具有高空间分辨率和丰富的光谱信息,但是在水体识别时受云层和阴影的影响较大。而SAR图像虽然具有较低的空间分辨率和较多的噪声,但是其主动性探测的特性会在浅水和阴影区域提供有价值的信息。在雷达数据的水体信息提取方法中,大多数是为提取大面积水体的中低空间分辨率图像开发的,高空间分辨率雷达影像尚不成熟,提取的方法较少。光学影像的水体提取发展成熟,一般能够找到适用于各种影像及地形的方法,应用较多且精度较高,雷达影像进行水体提取方法比较单一,研究的深度较浅,主要作为一种辅助手段。

对于大面积精度要求不高的水体区域,2种数据的提取各有优点,前者提取方法更多,应用范围更广,受影像质量影响相对较小,后者在具有浅水和非山区阴影水体区域提取精度更高,但受限于影像质量影响较大,一般适用于平坦地形; 在精细化水体提取领域,一般需要利用更高空间分辨率的影像,前者在分类器法和其他方法中都具有不同的应用,提取精度较高,后者受限于基础建设影响在高空间分辨率影像发展较慢,主要利用灰度共生矩阵进行提取需要花费大量时间,精度一般低于前者,如何利用雷达进行高空间分辨率高精度提取水体是现阶段的研究热点。

问题展望
1)对于面状水体不仅提取方法众多,提取精度也好,而且自动化也比较容易,中低空间分辨率影像就可以实现,但是对于线状河流,尤其是河流支流,比较难以提取,需要更高空间分辨率影像,但是高空间分辨率数据获取比较困难,处理较难。如何快速获得高空间分辨率影像及融合中高空间分辨率多源遥感影像提升细小水体的提取精度,是未来的研究方向之一[69]

2)随着信息时代的飞速发展,水体提取的自动化程度其实并不高,传统方法需要在人工干预下进行半自动化的水体提取,近年来基于机器学习的深度学习方法具有无需人工干预,模仿人脑的运行机制,充分运用深度学习方法是实现水体全自动提取的关键。

3)基于卫星遥感技术各种水体信息提取的结果精度至关重要,虽然说现在有一些默认的精度评定的方法,通常以人工解译的水体作为真值,采用ENVI,ERDAS和易康等专业软件,从漏提率、误提率[22]、提取精度[70]、水体与城镇的区分度(division degree,DD)[69]、Kappa系数、制图精度、用户精度等参数[71]评价提取结果的准确程度。这些方法没有形成统一的评价标准,不利于各种方法之间的对比。制定统一的评价标准,规范数据质量评价体系,将会是水体提取方法走向成熟、走向实用的标志。

4)对雷达数据的水体信息提取方法,大多数方法是针对大面积应用的中低空间分辨率图像开发的,对于高空间分辨率图像和要求非常准确的水体提取并不适用。对于容易受阴影影响的区域比如山区、城市建筑物,会导致水体提取精度严重下降。如何充分利用雷达影像来进行广泛的水体提取是接下来研究的重点。

5)随着遥感影像空间分辨率的提高,对于光学影像的水体提取发展相对比较缓慢,主要还是以传统基于阈值法和分类器法的水体提取为主,其他方法的实用性及普遍性不高,对于雷达、DEM和光学遥感数据等多源遥感数据源,如何充分融合雷达等多源遥感数据源,综合阈值法、面向对象和深度学习等技术方法,充分利用光学和雷达遥感的光谱、空间、时间等多维大数据信息,进行复杂地形区域水体信息的提取将是接下来研究的一个重点。

6)图像阈值分割一直是一个难题,比如水体指数的阈值确定,面向对象的多尺度分割中尺度的确定,虽然有很多算法可以快速地获取阈值,但是往往需要人工的判断,效果针对不同的实验地区、不同的方法会有区别,现在大多数的阈值确定还采用的是人工试错法,这种方法不仅效率低,而且不准确。因此,最优阈值自动获取方法,将成为日后研究的重点。

参考文章:苏龙飞, 李振轩, 高飞, 余敏. 遥感影像水体提取研究综述. 国土资源遥感[J], 2021, 33(1): 9-11

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

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

相关文章

Redisson自定义序列化

配置RedissonClientBean public RedissonClient redissonClient() {Config config new Config();// 单节点模式SingleServerConfig singleServerConfig config.useSingleServer();singleServerConfig.setAddress("redis://127.0.0.1:6379");singleServerConfig.set…

LeetCode二叉树经典题目(六):二叉搜索树

目录 28. LeetCode617. 合并二叉树 29. LeetCode700. 二叉搜索树中的搜索 30. LeetCode98. 验证二叉搜索树 31. LeetCode530. 二叉搜索树的最小绝对差 32. LeetCode501. 二叉搜索树中的众数 33. LeetCode236. 二叉树的最近公共祖先​ 28. LeetCode617. 合并二叉树 递归&…

Hi3861鸿蒙物联网项目实战:智能安防报警

华清远见FS-Hi3861开发套件&#xff0c;支持HarmonyOS 3.0系统。开发板主控Hi3861芯片内置WiFi功能&#xff0c;开发板板载资源丰富&#xff0c;包括传感器、执行器、NFC、显示屏等&#xff0c;同时还配套丰富的拓展模块。开发板配套丰富的学习资料&#xff0c;包括全套开发教程…

Windows11 系统打开IE浏览器的方式(完整版)

前言 大家好&#xff0c;好久不见&#xff01; 1、最近疯狂加班&#xff0c;旧电脑不太给力&#xff0c;换了新电脑&#xff0c;嘎嘎开心&#xff1b;开心之余发现新电脑是Win11系统的&#xff0c;但是IE浏览器找不到了&#xff0c;由于我的某些工作需要用到IE浏览器&#xf…

Vue2前端路由(vue-router的使用)、动态路由、路由和视图的命名以及声明式和编程式导航

目录 一、vue2的前端路由&#xff08;vue-router&#xff09; 1、路由&#xff1a;页面地址与组件之间的对应关系 2、路由方式&#xff1a;服务器端路由、前端路由 3、前端路由&#xff1a;在前端维护一组路由规则&#xff08;地址和组件之间的对应关系&#xff09;&#xf…

【UE4 第一人称射击游戏】34-制作一个简易计时器

上一篇&#xff1a;【UE4 第一人称射击游戏】33-创建一个迷你地图本篇效果&#xff1a;可以看到左上角有个简易的关卡计时器在倒计时步骤&#xff1a;打开“FPSHUD”&#xff0c;拖入一个图像控件图像选择“Timer_Backing”&#xff0c;尺寸改为4719拖入3个文本控件大小为1210字…

学习ffmpeg-录屏实现记录

项目需要一个录屏的功能&#xff0c;之前看到了一个使用Qt计时器截图avilib生成AVIffmpeg合并视频音频的方式&#xff1a;Qt C 录屏录音功能实现&#xff08;avilibffmpeg&#xff09;以及动态库生成https://blog.csdn.net/qq_35769071/article/details/125323624使用后&#x…

【.dll 没有被指定在windows上运行】

修复&#xff08;重新注册DLL&#xff09;的具体步骤如下&#xff1a; 方法一&#xff1a; 1、快捷键winr打开“运行”输入cmd,点击确定打开命令提示符窗口。 2、复制&#xff1a;for %1 in (%windir%\system32*.dll) do regsvr32.exe /s %1 命令&#xff0c;在打开的管理员…

ubuntu安装vue

首先建议使用ubuntu18.04以上的系统&#xff0c;不然会有类似fcntlGLIBC_2.28‘未定义的引用的报错 VUE官网&#xff1a;http://caibaojian.com/vue/guide/installation.html 其中安装说明只写到&#xff1a;npm install vue 我们还需要安装node.js、npm 1、安装 NVM&#xf…

Windows安装TensorRT

文章目录前言TensorRT下载TensorRT安装参考资料前言 本文将介绍Windows如何安装TensorRT。本文的基础是&#xff1a;Windows安装PytorchCUDA环境 TensorRT下载 进入官方网站&#xff1a;https://developer.nvidia.com/nvidia-tensorrt-8x-download 寻找自己对应的版本&#…

RabbitMQ之Work Queue(工作队列)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;曾经在某央企公司实习&#xff0c;目前在某税务公司。本篇文章将记录和分享RabbitMQ工作队列相关的知识点。 本篇文章记录的基础知识&#xff0c;适合在学Java的小白&#xff0c;也适合复习中&am…

【自学Python】Python string转bytes

Python string转bytes Python string转bytes教程 在 Python 中&#xff0c;bytes 类型和 字符串 的所有操作、使用和内置方法也都基本一致。因此&#xff0c;我们也可以实现将字符串类型转换成 bytes 类型。 Python string转bytes方法 如果字符串内容都是 ASCII 字符&#…

从0到1完成一个Vue后台管理项目(十六、后端分页方法以及分页组件的封装以及复用)

往期 从0到1完成一个Vue后台管理项目&#xff08;一、创建项目&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;二、使用element-ui&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;三、使用SCSS/LESS&#xff0c;安装图标库&#xff09; 从0到1完成一个Vu…

C++STL——list类与模拟实现

Listlistlist的常用接口模拟实现完整代码list与vector的区别list list是一个带头双向循环链表。 list文档介绍&#xff1a;https://legacy.cplusplus.com/reference/list/list/ list因为是链表结构&#xff0c;所以没有 [] 去访问数据的方式&#xff0c;只有用迭代器&#xff…

第十六届中国大数据技术大会五大分论坛顺利举办!

1月8日下午&#xff0c;由苏州市人民政府指导、中国计算机学会主办、苏州市吴江区人民政府支持&#xff0c;CCF大数据专家委员会、苏州市吴江区工信局、吴江区东太湖度假区管委会、苏州市吴江区科技局、苏州大学未来科学与工程学院及DataFounain数联众创联合承办的第十六届中国…

基于java springboot+mybatis学生学科竞赛管理管理系统设计和实现

基于java springbootmybatis学生学科竞赛管理管理系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言…

10.Isaac教程--在Docker中通过模拟训练目标检测

在Docker中通过模拟训练目标检测 文章目录在Docker中通过模拟训练目标检测怎么运行的主机设置硬件要求软件要求NGC Docker 注册表设置第一次运行数据集生成配置您的工作区Jupyter 变量设置开始训练添加您自己的 3D 模型故障排除接下来人工智能中的一个常见问题是训练样本的数据…

02【Http、Request】

文章目录02【Http、Request】一、HTTP协议1.1 HTTP协议概述1.1.1 HTTP协议的概念1.1.2 HTTP协议的特点&#xff1a;2.1 HTTP请求的组成2.1.1 请求行2.1.2 请求头2.1.3 请求体二、HttpServletRequest对象2.1 HttpServletRequest对象简介2.2 HttpServletRequest的使用2.2.1 请求行…

Redis未授权访问漏洞(三)Redis写入反弹连接定时任务

前言 系列文章 Redis未授权访问漏洞(一)先导篇 Redis未授权访问漏洞(二)Webshell提权篇 Redis写入反弹连接任务 环境准备 攻击机&#xff1a; Centos7 IP:192.168.142.44 靶机&#xff1a;Centos7 IP:192.168.142.66 我们先来回顾一下corntab定时任务的一些基本命令&#xf…

python数据分析及可视化(二十)Power BI的可视化制作以及A股上市公司数据分析

可视化制作 通过图表展示如何用Power BI 制作可视化的图表&#xff0c;来展示可视的数据内容。 柱形图 用水平的柱子来表示不同分类数据的大小&#xff0c;类似于条形图&#xff0c;相当于竖着的条形图。堆积柱形图是不同的序列数据都堆积在一个柱子上&#xff0c;簇状柱形图…