当前位置: 首页 > news >正文

【强度混合和波段自适应细节融合:PAN-Sharpening】

Intensity mixture and band-adaptive detail fusion for pansharpening

(用于全色锐化的强度混合和波段自适应细节融合)

全色锐化的目的是通过高分辨率单通道全色(PAN)图像锐化低分辨率多光谱(MS)图像,以获得高分辨率多光谱(HRMS)图像。然而,全色图像与MS图像之间的低相关性以及MS图像各波段细节注入的不准确性是造成全色锐化中光谱和空间失真的关键问题。针对这些问题,提出了一种基于灰度混合和带自适应细节融合的全色锐化方法。为了获得与MS图像具有高相关性的混合强度图像(T)并保持PAN图像的梯度信息,通过建立T和源图像之间的强度和梯度约束来构建强度混合模型。针对模型中难以找到合适的退化滤波器的问题,利用分布对齐方法设计了滤波器估计算法。为了注入与传感器点扩展函数相匹配的细节,提出了一种波段自适应细节融合算法,将T提取的细节与MS图像提取的细节在每个波段进行融合。此外,由于MS图像中的细节比T图像中的细节少得多,因此提出了一种细节增强算法来按比例增强细节。通过将融合的细节注入到上采样的MS图像中来获得最终的HRMS图像。

介绍

遥感卫星获取的图像广泛应用于科学研究、军事侦察、工农业生产等领域。然而,由于传感器技术的限制,很难直接获得高空间分辨率的多光谱(HRMS)图像。目前的卫星通常包含两种类型的传感器。第一种是光谱传感器,其可以获得具有低空间分辨率但高光谱分辨率的多光谱(MS)图像。第二种是空间传感器,可以获得具有高空间分辨率但低光谱分辨率的全色(PAN)图像。因此,融合MS和PAN图像是克服硬件限制获得HRMS图像的最佳途径。遥感图像融合俗称全色锐化,是图像分割、分类等进一步图像处理任务的基础。在过去的几十年中,全色锐化方法发展迅速,大致分为四类:基于组件变换(CS)、多分辨率分析(MRA)、变分优化(VO)和深度学习(DL)的方法。基于CS的方法首先将上采样MS图像(UPMS)变换为不同的分量,并使用PAN图像来替代空间分量。流行的基于CS的方法包括Gram-Schmidt自适应(GSA)、主成分分析(PCA)和强度色调饱和度(IHS)。为了进一步优化空间分量,Yang等人提出了一种基于模糊逻辑和显著性度量的方法。基于CS的方法通常可以有效地获得高空间质量,但光谱质量不令人满意,特别是当源图像之间存在低分辨率时。基于MRA的方法首先将源图像分解为多个层次,然后在每个层次上进行融合。例如,轮廓波变换、拉普拉斯金字塔和加性小波变换是著名的MRA方法,它们可以获得良好的谱保真度。然而,与基于CS的方法相比,这种方法通常需要更大的计算成本,并且通常具有较差的空间分辨率。为了提高空间分辨率,提出了双边滤波亮度比例(BFLP)方法。Vivone等人在拉普拉斯金字塔中进一步采用了鲁棒技术,取得了良好的泛化性能。然而,基于MRA的方法需要进一步平衡空间和光谱质量。
基于VO的方法首先基于空间和光谱先验构建模型,然后通过特定优化算法求解该模型。为了联合收割机基于VO和MRA方法的优点,提出了基于多尺度变换的抠图模型(MMMT),提高了光谱保真度。为了改善全尺度(FS)融合结果,提出了基于全尺度回归的全色锐化注入系数,并实现了最先进的性能。针对稀疏表示在图像重构中的强大能力,提出了一种基于压缩感知的融合方法。该方法在一些数据集上取得了较好的效果,但由于字典的训练,计算代价较高。Palsson等人用循环下降和流形优化来求解降秩(RR)全色锐化模型,以及Yang等人提出了低秩模糊融合(LRFF)细节优化方法,进一步平衡融合效率和融合质量。这些方法通常比基于CS或MRA的方法获得更好的融合结果,但其性能在很大程度上取决于所构造模型的精度,其效率需要进一步提高。
基于DL的方法由于其强大的特征学习能力而在图像融合中表现出令人印象深刻的性能。Ozcelik等人提出了基于GANs的PAN图像彩色化方法(PanColorGAN),该方法可以获得较好的空间效果。为了利用其它模型的优点,Deng等人将残差网络与细节注入模型相结合,提出了FusionNet网络。Wu等人将基于VO的方法与基于DL的方法相结合,提出了VO + Net方法。 Yang等人通过提出的双流CNN增强残差信息以提高空间质量。这些方法在保持光谱和空间保真度方面表现良好,但需要大量的训练样本,具有昂贵的计算资源。
现有的全色锐化方法往往忽略了全色图像与MS图像之间的相关性,只提取全色图像的细节信息。由于MS和PAN图像之间的辐射测量差异,HRMS和PAN图像之间存在空间差异。源图像之间的低相关性实际上是导致融合结果不理想的主要因素之一。此外,注入能够匹配MS传感器的点扩展函数(PSF)的细节是具有挑战性的,因为MS图像的不同波段中的空间结构变化很大。此外,大多数全色锐化方法难以平衡融合质量和效率。针对这些问题,提出了一种基于强度混合模型和带域自适应细节融合算法的全色锐化方法。
强度混合模型被设计为混合原始MS图像的强度分量(Iorg)和PAN图像的空间信息,从而获得与MS图像具有高相关性但不丢失PAN图像的梯度信息的混合强度图像(T)。然后用T代替PAN图像,从而增强待融合图像之间的相关性。为此,建立了降质后的T和Iorg之间的强度一致性约束以及T和PAN图像之间的梯度约束。针对退化滤波器难以获得的问题,提出了一种基于分布对齐的滤波器估计算法,以提高退化滤波器的精度
在波段自适应细节融合算法中,本研究将从T提取的细节与UPMS图像中提取的细节进行融合,以获得每个MS波段的精确细节。为了更好地匹配细节和传感器的PSF,通过应用与MS传感器的调制传递函数(MTF)匹配的高斯滤波器来获得UP MS图像中的细节。由于UP MS图像中的细节比T图像中的细节少得多,提出了一种细节增强算法,按比例增强图像中的细节。通过将带自适应细节注入到UP MS图像中来获得最终的HRMS图像。

贡献

1)提出了一种基于亮度混合模型和带域自适应细节融合算法的全色锐化方法,该方法能有效地获得高光谱和空间质量。
2)为了增强源图像之间的相关性,通过建立退化T与Iorg之间的强度约束和T与PAN图像之间的梯度约束,设计了一种强度混合模型。此外,提出了一种滤波估计算法,以同时优化模型内退化的滤波器。
3)为了提高各波段注入细节的准确性,提出了一种波段自适应细节融合算法,将T波段和MS波段的细节进行融合。同时,提出了一种细节增强算法,对MS图像进行细节增强,以达到更好的细节融合效果。

相关工作

细节注入模型以其灵活性和可扩展性一直是全色锐化中的热门模型。将具有B个波段的MS图像表示为M ∈Rl×w×BR^{l×w ×B}Rl×w×B,M的上采样形式MUPRL×W×BR^{L ×W ×B}RL×W×B,且PAN图像为P ∈RL×WR^{L ×W}RL×W,其中l × w和L × W分别表示M和P的大小,则基于细节注入模型的传统全色锐化方法统一表示为在这里插入图片描述
G是注入增益,De表示注入细节。基于CS和MRA的方法的区别主要在于De的提取方式。对于基于CS的方法,De可通过以下方式获得
在这里插入图片描述
其中Phist表示直方图与IUP匹配之后的PAN图像,IUP表示MUP的强度分量。强度(IUP)通常通过MUP的谱带的加权和获得,其表示如下:在这里插入图片描述
其中,b表示变量的第b个波段,MbM^bMbUP表示上采样MS图像的第b个波段,αb表示用于获得强度分量的线性系数的第b个波段。
对于基于MRA的方法,De通过下式获得:在这里插入图片描述
其中PL表示退化的PAN图像,其可以通过对P应用低通滤波器H来获得。
为了保持更好的光谱和空间保真度,基于VO的方法吸引了越来越多的关注,其将融合过程视为模型优化问题。具体而言,这种方法基于原始MS、PAN和理想HRMS图像之间的关系来构造能量函数。能量函数主要由两个先验项组成。第一个是光谱保真度项,第二个是空间保真度项,可表示如下:在这里插入图片描述
其中,fspctr(·)和fspat(·)分别表示光谱保真度函数和空间保真度函数。fspctr(·)建立以下光谱关系^M和M基于先验知识。也就是说,M可被视为 ^M的模糊和抽取版本而fspat(·)则基于先验建立 ^M和P之间的空间关系。就像是模糊的和简化的版本而f spat(·)则建立M之间的空间关系以及基于先验的P。因此,P被视为以下频带的加权和 ^M。因此,公式(5)中的能量函数可以重新定义如下:在这里插入图片描述
其中λ表示惩罚参数,D表示下采样矩阵,并且C表示线性组合矩阵。找到公式(6)的优化解,我们可以得到^M。然而,公式(1)中的细节注入模型和公式(6)中的基于VO的模型都认为仅从PAN图像中提取细节,忽略了MS图像中存在而PAN图像中不存在的本征细节。不准确的细节提取可能导致频谱和空间失真。

方法

本文着眼于提高待融合图像之间的相关性和带域自适应地优化细节,提出了一种基于亮度混合和带域自适应细节融合的全色锐化方法,如图1所示。请添加图片描述
Iorg和P被用作强度混合模型的输入。该模型基于亮度一致性先验建立退化图像T与Iorg之间的亮度约束基于梯度一致性先验建立退化图像T与源图像之间的梯度约束。此外,提出了一种滤波器估计算法,以获得合适的滤波器用于降低模型中的T。利用交替方向乘子法(ADMM)对模型进行求解,得到T。为了获得与MS传感器的PSF相匹配的精确细节,首先通过MTF匹配高斯滤波器提取UP MS图像的细节,然后通过细节增强算法进行增强。然后,利用细节融合算法将增强后的UP MS细节与T中的细节进行融合。最终使用细节注入模型获得HR MS图像。

Intensity mixture model

Model construction

频谱保真度约束是根据以下假设定义的:M可被视为的抽取和模糊版本^M,模糊函数应为类高斯滤波器。因此,约束通常设计为

其中^Mb和Mb分别表示估计的HRMS图像和原始MS图像的第b个波段, ^M或M可通过将 MbM^bMbUP替换为 ^Mb或者Mb根据式(3)。
为了保持波段之间的固有相干性,最好对^M所有波段执行统一的高斯滤波器HG 。因此,用HG 代替Hb ,并将(3)和(7)结合在一起,我们可以推导出如下公式:
在这里插入图片描述
其中IHR表示的强度分量^M。为了获得与M具有高相关性的T,合理地假设T应当接近IHR。强度分量M。为了获得与M具有高相关性的T,合理地假设T应当接近IHR。为此,本文提出了一种强度一致先验;也就是说,Iorg可以被认为是T的模糊和抽取版本。T需要满足的另一个要求是T不应该丢失P的梯度信息。因此,组合强度一致性约束和梯度一致性约束的模型可以表示为
在这里插入图片描述
其中▽表示拉普拉斯算子,β表示罚参数。由于P的梯度信息的学习可能会导致T与Iorg之间的相关性出现偏差,因此提出一种降尺度梯度约束来进一步增强T与Iorg之间的相关性。表示S = DHGT,我们将缩小比例的梯度约束定义如下:
在这里插入图片描述
其中θ表示罚参数。为了保证梯度图的稀疏性和减少伪影,模型中引入了全变分(TV)项。结合(9)和(10)中的约束,强度混合模型被表示为在这里插入图片描述

Filter estimation algorithm

在式(11)表示的模型中,HG仍然是不确定的,但可以通过观测数据进行估计。如果已知理想T,则可通过以下公式确定HG在这里插入图片描述
由于空域图像滤波是一个卷积过程,给模型求解带来不便,将HG变换到频域,将卷积转换为矩阵之间的内积。HG(x,y)的频域表示为在这里插入图片描述
其中,Dt(U,V)表示距频率矩形中心的距离,σ表示标准差。将快速傅里叶变换(FFT)表示为F(·),将逆FFT(IFFT)表示为F−1F^{−1}F1(·),我们可以得到:在这里插入图片描述
其中D ↓表示下采样操作。确定HG的关键是找到一个合适的分布参数σ,使S与Iorg一致。采用相关函数来表示S和Iorg之间的相似性,目标是最大化它们之间的相关性。因此,(13)中的最佳σ可通过下式获得:在这里插入图片描述
其中corr(·)表示相关函数,σ * 表示最优σ。初始化σ为σ0,步长为l,迭代计算式(15)中的相关性,直到相关性达到最大值,得到σ *。详细算法如算法1所示。
请添加图片描述
为了说明滤波估计算法的有效性,图2显示了不同σ值下的相关曲线。测试图像来自IKONOS数据集。
在这里插入图片描述
从图中可以看出,当最优分布σ *= 22时,S与Iorg的最大相关性几乎为1。不同σ值下的滤波器传递函数透视图见图2(b)-(d)。这里选择小于σ * 的σ1 = 10和大于σ * 的σ2 = 40进行比较,以便更直观地区分滤波结果。图2(e)-(h)显示了(14)在不同σ值下获得的不同S图像和Iorg图像。在这里,我们可以看到,在σ * 分布上生成的S图像可以最好地与Iorg对齐,这进一步验证了估计滤波器的有效性。
从(9)和(12)中,我们可以观察到T和HG是相互依赖的。通过固定一个变量并更新另一个变量,我们可以通过ADMM优化这两个变量。

The solution

为了更简单地求解,表示R = HGT,Q = ▽T,则S = DR,并且(11)的增广拉格朗日函数表示为:在这里插入图片描述

Updating R

固定其他变量,R的更新是一个凸优化问题,可以通过将公式(16)中R的偏偏差设为0来获得;即,在这里插入图片描述
因此,R的t + 1步长由下式获得:在这里插入图片描述
其中U表示单位矩阵,上标T表示转置算子。

Updating S

使用与更新R相同的方法,并将S的偏偏差设置为0,我们可以获得如下偏差结果:在这里插入图片描述
为了提高效率,采用了FFT和IFFT。因此,利用更新后的Rt+1R^{t +1}Rt+1,S的t + 1步长由下式获得:
在这里插入图片描述

Updating T

类似于更新S,固定Rt+1R^{t +1}Rt+1并设置T的偏偏差为0的方法,我们得到在这里插入图片描述
这里,我们也使用FFT和IFFT来提高效率,并且IHR的t + 1步由下式获得:在这里插入图片描述

Updating Q

固定其他变量,我们可以通过最小化能量函数来获得Q的更新,如下所示:
在这里插入图片描述
使用软阈值策略,(23)可以通过下式有效求解
在这里插入图片描述
其中
在这里插入图片描述

Updating Lagrangian multipliers

拉格朗日乘子Λ1、Λ2和Λ3的最大值可以通过梯度上升法获得如下:在这里插入图片描述
总之,在算法2中示出了强度混合模型的整体解。在迭代过程期间,HG同时用算法1更新,当相对误差满足停止条件时得到最终T;即,在这里插入图片描述

Band-adaptive detail fusion

在这里插入图片描述
给定MS波段的不同空间特性,仍然难以将匹配MS传感器的PSF的精确细节注入MS图像的每个波段。MS传感器的MTF可以由制造商获得,然后在MS图像上应用MTF匹配高斯滤波器(HM)。所获得的细节也应与MS传感器的PSF匹配。通过在UPMS图像上应用HM获得的细节表示为在这里插入图片描述
其中DbD^bDbM表示从UPMS图像提取的第b个波段细节。对于每个波段,将DTDbD^bDbM融合可以更好地匹配MS传感器的MTF。但DbD^bDbM中的像素值比DT中的像素值小得多,因为UPMS图像包含的细节很少。为了更好地演示要融合的细节,图3中示出了所提取细节的示例。请添加图片描述
为简单起见,我们只展示了MUP的第一个谱带的细节,如图3(b)所示,从中我们可以看出DbD^bDbM远小于DT。简单地将DTDbD^bDbM融合会导致一些细节信息的丢失。因此,我们希望用一个比例因子(ωb)将DbD^bDbM按比例增强到DT的水平,以避免细节融合过程中的空间损失。为了实现这一目标,设计了一个模型来约束增强的DbD^bDbM。也就是说,ωbDbD^bDbM接近于DT,如下所示:在这里插入图片描述
为了求解模型(30),采用拉格朗日乘子法和梯度下降法,我们可以获得如下解:在这里插入图片描述
其中△t为步长,δ为罚参数。当ωt+1ω^{t+1}ωt+1bωtω^tωtb之间的误差足够小时,迭代将停止。
将ωbDbD^bDbM表示为DbD^bDbE,我们可以融合DTDbD^bDbE,以获得更好地匹配传感器PSF的细节。细节融合算法设计如下:在这里插入图片描述
其中λ是权重系数,DbD^bDbF表示融合细节。由于细节的准确性受到源图像之间的相关性(表示为c)的影响,因此λ应与c呈正相关。为了将λ限制在一个更合理的范围内,本文基于Sigmoid函数定义λ如下:在这里插入图片描述
将(33)中的λ代入(32)中,得到带自适应细节。使用注射模型,可以通过以下方式获得最终HRMS图像:在这里插入图片描述

相关文章:

【强度混合和波段自适应细节融合:PAN-Sharpening】

Intensity mixture and band-adaptive detail fusion for pansharpening (用于全色锐化的强度混合和波段自适应细节融合) 全色锐化的目的是通过高分辨率单通道全色(PAN)图像锐化低分辨率多光谱(MS)图像&a…...

【随笔】《挥手自兹去》

挥手自兹去那样美的一束光照在我身上,挥手自兹去,下次又要何时再见?那日闲来无事,到小区前的公园里散步。绿草如因,野花点点,阳光照的人很舒服。一片空地上,我看见了一个女孩,她那么…...

华为OD机试题 - 最差产品奖(JavaScript)| 机考必刷

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:最差产品奖题目输入输出示例一输入输出说明Code版权说明华为OD其…...

虚拟化介绍

1、为什么需要虚拟化 据调查传统的服务器在很多时候处于休眠状态,大概只有5%时间是在工作,工作效率低下,浪费资源,因此需要一种手段来提高计算机资源的利用率。 虚拟化前 每台主机一个操作系统 在同一台主机运行多个应用程序&am…...

c/c++开发,无可避免的模板编程实践(篇十)-c++11原位构造元素(emplace)

一、容器修改器的新特性 c11以前,标准库的容器修改器功能提供了数据插入成员函数inset、push_back,而在 c11标准化,标准库的容器修改器增加了emplace、emplace_back、emplace_front等插入成员函数。同样是插入函数,两者有何区别呢…...

基于bash通过cdo批处理数据

***#################################### ubuntu中编写shell脚本文件 第一步:用vim创建一个以.sh结尾的文件,此时这个文件是暂时性的文件,当编写好文件并保存时才能看到文件; 第二步:要首先按一下“i”键才能进行插入…...

Map和Set总结

Map和Set Map和Set是专门用来进行搜索的数据结构,适合动态查找 模型 搜索的数据称为关键字(key),关键字对应的叫值(value),key-value键值对 key模型key-value模型 Map存储的就是key-value模型,Set只存储了key Map Map是接口类…...

pytorch网络模型构建中的注意点

记录使用pytorch构建网络模型过程遇到的点 1. 网络模型构建中的问题 1.1 输入变量是Tensor张量 各个模块和网络模型的输入, 一定要是tensor 张量; 可以用一个列表存放多个张量。 如果是张量维度不够,需要升维度, 可以先使用 …...

面试时候这样介绍redis,redis经典面试题

为什么要用redis做缓存 使用Redis缓存有以下几个优点: 1. 提高系统性能:缓存可以将数据存储在内存中,加快数据的访问速度,减少对数据库的读写次数,从而提高系统的性能。 2. 减轻后端压力:使用缓存可以减…...

机械学习 - scikit-learn - 数据预处理 - 2

目录关于 scikit-learn 实现规范化的方法详解一、fit_transform 方法1. 最大最小归一化手动化与自动化代码对比演示 1:2. 均值归一化手动化代码演示:3. 小数定标归一化手动化代码演示:4. 零-均值标准化(均值移除)手动与自动化代码演示&#x…...

华为OD机试题 - 最长连续交替方波信号(JavaScript)| 机考必刷

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:最长连续交替方波信号题目输入输出示例一输入输出Code解题思路版…...

executor行为相关Spark sql参数源码分析

0、前言 参数名和默认值spark.default.parallelismDefault number of partitions in RDDsspark.executor.cores1 in YARN mode 一般默认值spark.files.maxPartitionBytes134217728(128M)spark.files.openCostInBytes4194304 (4 MiB)spark.hadoop.mapreduce.fileoutputcommitte…...

双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+模块

概述 FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道(5.2GSPS/通道)、单通道10.4GSPS、射频采样ADC模块,该板卡为FMC标准,符合VITA57.1规范,该模块可以作为一个理想的IO单元耦合至FPGA前端,8通道的JE…...

理解java反射

是什么Java反射是Java编程语言的一个功能,它允许程序在运行时(而不是编译时)检查、访问和修改类、对象和方法的属性和行为。使用反射创建对象相比直接创建对象有什么优点使用反射创建对象相比直接创建对象的主要优点是灵活性和可扩展性。当我…...

EasyRcovery16免费的电脑照片数据恢复软件

电脑作为一种重要的数据储存设备,其中保存着大量的文档,邮件,视频,音频和照片。那么,如果电脑照片被删除了怎么办?今天小编给大家介绍,误删除的照片从哪里可以找回来,误删除的照片如…...

若依微服务版在定时任务里面跨模块调用服务

第一步 在被调用的模块中添加代理 RemoteTaskFallbackFactory.java: package com.ruoyi.rpa.api.factory;import com.ruoyi.common.core.domain.R; import com.ruoyi.rpa.api.RemoteTaskService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf…...

SpringMVC简单配置

1、pom.xml配置 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.12.RELEASE</version></dependency></dependencies><build><…...

xcat快速入门工作流程指南

目录一、快速入门指南一、先决条件二、准备管理节点xcatmn.mydomain.com三、第1阶段&#xff1a;添加你的第一个节点并且用带外BMC接口控制它四、第 2 阶段 预配节点并使用并行 shell 对其进行管理二&#xff1a;工作流程指南1. 查找 xCAT 管理节点的服务器2. 在所选服务器上安…...

C++回顾(十九)—— 容器string

19.1 string概述 1、string是STL的字符串类型&#xff0c;通常用来表示字符串。而在使用string之前&#xff0c;字符串通常是 用char * 表示的。string 与char * 都可以用来表示字符串&#xff0c;那么二者有什么区别呢。 2、string和 char * 的比较 &#xff08;1&#xff09…...

Hadoop入门

数据分析与企业数据分析方向 数据是什么 数据是指对可观事件进行记录并可以鉴别的符号&#xff0c;是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合&#xff0c;它是可以识别的、抽象的符号。 他不仅指狭义上的数字&#xff0c;还可以是具有一…...

高校如何通过校企合作/实验室建设来提高大数据人工智能学生就业质量

高校人才培养应该如何结合市场需求进行相关专业设置和就业引导&#xff0c;一直是高校就业工作的讨论热点。亘古不变的原则是&#xff0c;高校设置不能脱离市场需求太远&#xff0c;最佳的结合方式是&#xff0c;高校具有前瞻性&#xff0c;能领先市场一步&#xff0c;培养未来…...

提升学习 Prompt 总结

NLP现有的四个阶段&#xff1a; 完全有监督机器学习完全有监督深度学习预训练&#xff1a;预训练 -> 微调 -> 预测提示学习&#xff1a;预训练 -> 提示 -> 预测 阶段1&#xff0c;word的本质是特征&#xff0c;即特征的选取、衍生、侧重上的针对性工程。 阶段2&…...

JavaScript学习笔记(2.0)

BOM--&#xff08;browser object model&#xff09; 获取浏览器窗口尺寸 获取可视窗口高度&#xff1a;window.innerWidth 获取可视窗口高度:window.innerHeight 浏览器弹出层 提示框&#xff1a;window.alert(提示信息) 询问框&#xff1a;window.confirm(提示信息) 输…...

直击2023云南移动生态合作伙伴大会,聚焦云南移动的“价值裂变”

作者 | 曾响铃 文 | 响铃说 2023年3月2日下午&#xff0c;云南移动生态合作伙伴大会在昆明召开。云南移动党委书记&#xff0c;总经理葛松海在大会上提到“2023年&#xff0c;云南移动将重点在‘做大平台及生态级新产品&#xff0c;做优渠道转型新动能&#xff0c;做强合作新…...

STM32F1开发实例-振动传感器(机械)

振动(敲击)传感器 振动无处不在&#xff0c;有声音就有振动&#xff0c;哒哒的脚步是匆匆的过客&#xff0c;沙沙的夜雨是暗夜的忧伤。那你知道理科工程男是如何理解振动的吗&#xff1f;今天我们就来讲一讲本节的主角&#xff1a;最简单的机械式振动传感器。 下图即为振动传…...

2023最新ELK日志平台(elasticsearch+logstash+kibana)搭建

去年公司由于不断发展&#xff0c;内部自研系统越来越多&#xff0c;所以后来搭建了一个日志收集平台&#xff0c;并将日志收集功能以二方包形式引入自研系统&#xff0c;避免每个自研系统都要建立一套自己的日志模块&#xff0c;节约了开发时间&#xff0c;管理起来也更加容易…...

2023-3-10 刷题情况

打家劫舍 IV 题目描述 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统&#xff0c;所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在窃取过程中能从单间房屋中窃取的 最大…...

如何建立一个成功的MES?

制造执行系统&#xff08;MES&#xff09;是一种为制造业企业提供实时生产过程控制、管理和监视的信息系统。一个成功的MES系统可以帮助企业提高生产效率&#xff0c;降低成本&#xff0c;提高产品质量&#xff0c;提高客户满意度等。下面是一些关键步骤来建立一个成功的MES系统…...

Kafka生产者幂等性/事务

Kafka生产者幂等性/事务幂等性事务Kafka 消息交付可靠性保障&#xff1a; Kafka 默认是&#xff1a;至少一次最多一次 (at most once) : 消息可能会丢失&#xff0c;但绝不会被重复发送至少一次 (at least once) : 消息不会丢失&#xff0c;但有可能被重复发送精确一次 (exact…...

JavaWeb--案例(Axios+JSON)

JavaWeb--案例&#xff08;AxiosJSON&#xff09;1 需求2 查询所有功能2.1 环境准备2.2 后端实现2.3 前端实现2.4 测试3 添加品牌功能3.1 后端实现3.2 前端实现3.3 测试1 需求 使用Axios JSON 完成品牌列表数据查询和添加。页面效果还是下图所示&#xff1a; 2 查询所有功能 …...

css制作动画(动效的序列帧图)

相信 animation 大家都用过很多&#xff0c;知道是 CSS3做动画用的。而我自己就只会在 X/Y轴 上做位移旋转&#xff0c;使用 animation-timing-function 规定动画的速度曲线&#xff0c;常用到的 贝塞尔曲线。但是这些动画效果都是连续性的。 今天发现个新功能 animation-timi…...

【设计模式】装饰器模式

装饰器模式 以生活中的场景来举例&#xff0c;一个蛋糕胚&#xff0c;给它涂上奶油就变成了奶油蛋糕&#xff0c;再加上巧克力和草莓&#xff0c;它就变成了巧克力草莓蛋糕。 像这样在不改变原有对象的基础之上&#xff0c;将功能附加到原始对象上的设计模式就称为装饰模式(D…...

Nginx配置实例-反向代理案例一

实现效果&#xff1a;使用nginx反向代理&#xff0c;访问 www.suke.com 直接跳转到本机地址127.0.0.1:8080 一、准备工作 Centos7 安装 Nginxhttps://liush.blog.csdn.net/article/details/125027693 1. 启动一个 tomcat Centos7安装JDK1.8https://liush.blog.csdn.net/arti…...

Java中IO流中字节流(FileInputStream(read、close)、FileOutputStream(write、close、换行写、续写))

IO流&#xff1a;存储和读取数据的解决方案 纯文本文件&#xff1a;Windows自带的记事本打开能读懂 IO流体系&#xff1a; FileInputStream&#xff1a;操作本地文件的字节输入流&#xff0c;可以把本地文件中的数据读取到程序中来 书写步骤&#xff1a;①创建字节输入流对象 …...

C#完全掌握控件之-combbox

无论是QT还是VC&#xff0c;这些可视化编程的工具&#xff0c;掌握好控件的用法是第一步&#xff0c;C#的控件也不例外&#xff0c;尤其这些常用的控件。常见控件中较难的往往是这些与数据源打交道的&#xff0c;比如CombBox、ListBox、ListView、TreeView、DataGridView. 文章…...

STL的空间配置器(allocator)

简答&#xff1a; 在CSTL中&#xff0c;空间配置器便是用来实现内存空间(一般是内存&#xff0c;也可以是硬盘等空间)分配的工具&#xff0c;他与容器联系紧密&#xff0c;每一种容器的空间分配都是通过空间分配器alloctor实现的。 解析: 1.两种C类对象实例化方式的异同在c中&a…...

linux系统莫名其妙的环境变量问题

今天使用Ubuntu20.04系统&#xff0c;使用less命令查看日志&#xff0c;发现日志中的“中文”显示为乱码&#xff1b; 使用vim命令查看该日志文件也显示为乱码&#xff1b; 使用more命令查看该日志文件则显示正常。 首先查询系统的字符集编码&#xff0c;发现编码正常支持中…...

使用 Microsoft Dataverse 简化的连接快速入门

重复昨天本地部署dynamics实例将其所有的包删除之后&#xff0c;再次重新下载回来。运行填写跟之前登陆插件一样的信息点击login 然后查看控制台&#xff0c;出现这样就说明第一个小示例就完成了。查看你的dy365平台下的 “我的活动”就可以看到刚刚通过后台代码创建的东西了。…...

PLSQL Developer 安装指南

PLSQL Developer 是 Oracle 的客户端。 下面以64位破解版的PLSQL Developer为例&#xff0c;进行PLSQL Developer 安装讲解。 0. 下载 PLSQL Developer https://download.csdn.net/download/Shipley_Leo/87557938 1. 根据操作系统选择对应“plsqldev.exe”可执行文件&#xff…...

腾讯云企业网盘2.5版本全新发布啦!!!

腾讯云企业网盘又又又更新啦&#xff01;本期重点打磨管理协同、企业安全守护能力&#xff0c;同时也不断强化自身产品体验&#xff0c;助力企业高效办公~那么&#xff0c;此次更新具体有什么安全可靠的新功能呢&#xff1f;今天就带大家一起解锁~01协同管理&#xff0c;提升工…...

Excel职业版本(4)

图表 图表基本结构 组成元素 图表的分类 柱状图 介绍&#xff1a;在竖直方向比较不同类型的数据 适用场景&#xff1a;用于二维数据集&#xff0c;对于不同类型的数据进行对比&#xff0c;也可用于同一类型的数据在不同的时间维度的数据对比&#xff0c;通过柱子的高度来反…...

3-2 SpringCloud快速开发入门:Ribbon 实现客户端负载均衡

接上一章节Ribbon 是什么&#xff0c;这里讲讲Ribbon 实现客户端负载均衡 Ribbon 实现客户端负载均衡 由于 Spring Cloud Ribbon 的封装&#xff0c; 我们在微服务架构中使用客户端负载均衡调用非常简单&#xff0c; 只需要如下两步&#xff1a; 1、启动多个服务提供者实例并…...

ChatGPT,乌合之众的疯狂

最近ChatGPT有多火爆就不用我说了。公司里&#xff0c;从CEO到技术人员&#xff0c;乃至于门口的保安、食堂的大婶&#xff0c;没有一个不会聊两句ChatGPT的。连我20年未见的小学同学、三线城市警官&#xff0c;都问我这东西能不能给领导写汇报材料。 用不了多久&#xff0c;家…...

代码随想录刷题-数组-长度最小的子数组

文章目录长度最小的子数组习题暴力解法滑动窗口长度最小的子数组 本节对应代码随想录中&#xff1a;代码随想录&#xff0c;讲解视频&#xff1a;拿下滑动窗口&#xff01; | LeetCode 209 长度最小的子数组_哔哩哔哩_bilibili 习题 题目链接&#xff1a;209. 长度最小的子数…...

成功解决安装MySQL5.7提示公钥GPG密钥配置为file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

前言 大家好,我是沐风晓月,今天做MySQL5.7安装的时候遇到问题了,我们一起来复盘下这个问题,如果你使用我的方法没有解决,一定要留言给我,我们一起来排查和学习和完善。 本文收录于csdn 我是沐风晓月的专栏 【日常遇到的疑难问题和bug解决】 ,若点击无法跳转,请在csdn …...

vue配置环境变量

目录 创建配置文件 .env.development 文件 .env.production 文件 .env.dev 文件 使用变量 配置 package.json 文件 例子&#xff1a;在 api.js 使用 可以继续添加 创建配置文件 在根目录与 package.json 同级创建文件 .env.development、 .env.production、.env.dev 文件…...

js学习3(数组)

目录 结构图 数组操作 每日一练 结构图 数组操作 ## 数组中可以存储任何类型元素 ## 创建&#xff1a; 字面量([...])、创建对象(new Array(arr_len)) ## 遍历&#xff1a; 循环遍历、forEach(callback)、map(callback)、filter(callback)、every(callback)、some(callback)、…...

不用写代码也能开发,产品经理是怎么做到的?

产品经理再也不用求开发了……就在前几天&#xff0c;我做的小程序上线了&#xff01; 从产品原型设计&#xff0c;前端开发后端开发&#xff0c;产品部署到运维&#xff0c;都是由我1个人完成的。 我是啥时候学会写代码的呢&#xff1f;不瞒你说&#xff0c;我一行代码都没写…...

Android源码分析 - Parcel 与 Parcelable

0. 相关分享 Android-全面理解Binder原理 Android特别的数据结构&#xff08;二&#xff09;ArrayMap源码解析 1. 序列化 - Parcelable和Serializable的关系 如果我们需要传递一个Java对象&#xff0c;通常需要对其进行序列化&#xff0c;通过内核进行数据转发&#xff0c;…...

数字孪生与 UWB 技术创新融合:从单点测量到全局智能化

人员定位是指利用各种定位技术对人员在特定场所的位置进行准确定位的技术。人员定位技术主要应用于需要实时监控、管理和保障人员安全的场所&#xff0c;如大型厂区、仓库、医院、学校、商场等。人员定位技术的应用范围非常广泛&#xff0c;例如&#xff1a;-在工厂生产线上&am…...