遥感数字图像处理
遥感数字图像处理
来源:慕课北京师范大学朱文泉老师的课程
遥感应用:遥感制图、信息提取
短期内了解知识结构–>有选择的剖析经典算法原理–>系统化知识结构、并尝试实践应用
跳出算法(尤其是数学公式)
关注原理及解决问题的思路
遥感数字图像处理
- 遥感数字图像处理
- 一、数字图像基础
- 二、常见遥感图像文件存储格式
- 三、空间域处理方法
- 3.2 数值运算
- 3.2.1 单波段点运算
- 3.2.2单波段领域运算
- 3.2.3 多波段运算
- 3.3 集合运算
- 3.3.1空间操作
- 3.3.2波段操作
- 3.4 逻辑运算
- 3.5 数学形态学运算
- 3.5.1 腐蚀
- 3.5.2 膨胀
- 3.5.3二值形态学
- 3.5.4 灰度形态学腐蚀膨胀
- 四、变换域处理方法
- 4.2主成分变换
- 4.3最小噪声分离变换
- 4.4缨帽变换
- 4.5 傅里叶变换
- 4.6 小波变换
- 4.7 颜色空间变换
- 4.7.1CMYK颜色空间
- 4.7.2 HSI颜色空间
- 4.7.3 颜色空间的相互转换
- 第五章 辐射校正
- 5.1辐射校正概述
- 5.2 传感器校正
- 5.3 大气校正
- 5.3.1大气校正统计模型
- 5.3.2 大气校正物理模型
- 5.4 地形及太阳高度角校正
- 5.4.1 余弦校正(地形)
- 5.4.2 半经验校正(地形)
- 5.4.3 太阳高度角校正(太阳)
- 第六章 几何校正
- 6.1 遥感图像的几何变形
- 6.2 遥感图像的几何校正
- 6.2.1几何精校正的过程与方法:
- 第七章 图像去噪声
- 7.1 噪声分类
- 7.3空间域去噪声
- 7.3.1均值滤波
- 7.3.2 中值滤波
- 7.3.3边缘保持平滑滤波
- 7.3.4数学形态学去噪
- 7.4变换域去噪声
- 7.4.1 傅里叶变换去噪声
- 7.4.2 小波变换去噪声
- 第八章图像增强
- 8.1 空间域图像增强
- 8.1.1变换增强
- 8.1.2 直方图调整图像增强
- 8.1.3 反锐化增强
- 8.2 变换域图像增强
- 8.3伪彩色处理
- 8.4图像融合
- 第9章 感兴趣目标及对象提取
- 9.1 图像分割
- 9.1.1阈值分割法
- 9.1.2 边界分割法
- 9.1.3 区域提取分割法
- 9.1.4 形态学分水岭分割
- 9.2 二值图像处理
- 9.2.1四近邻与八近邻
- 9.2.2四连通和八连通
- 9.2.3内部点与边界点
- 9.2.4 空洞点填补和碎块消除
- 9.3 对象提取
- 9.2.3内部点与边界点
- 9.2.4 空洞点填补和碎块消除
- 9.3 对象提取
一、数字图像基础
数字图像类型:
黑白图像:二值图像,灰度值要么是0要么是1
灰度图像:RGB三个通道的值是相同的,(128,128,128)表示灰色,(255,255,255)表示白色
伪彩色图像:也是单波段图像,只是每个灰度值对应于颜色空间模型中的某一种颜色。R、G、B值是三个不完全相同的数值,表现为彩色。(255,0,0)红色
伪彩色单波段,假彩色三波段
标准假彩色图像:近红外波段、红光波段、绿光波段(4、3、2)
统计并查看直方图
实验二:波段运算-计算VDVI
打开波段运算框
原始数据为Byte型,波段数据有小数,为了避免出错,将数据变为float浮点型。为了避免分母为0,避免出错,在分母前加一个极小值。
输入公式进入赋值阶段,b1对应近红外波段,b2对应红光波段
采用植被指数计算器计算VDVI
二、常见遥感图像文件存储格式
开放式:有两个文件(头文件+数据文件)
封装式存储格式:jpeg格式、tiff格式、bmp格式
tiff格式:文件头、标识信息区、图像数据区
偏移量–>类似于指针,标识具体位置的地方
查看图像的头文件信息
打开ASCII码数据格式的文件
封装式二进制遥感图像的读取
先用右侧工具箱中的DataViewer打开二进制文件,如中间那图所示,再根据数据说明,输入字节起始位置,在View_Format选择对应的数据类型,就可以看到头文件对应的信息。
三、空间域处理方法
3.2 数值运算
3.2.1 单波段点运算
输入是单个像元的数值,输出也是单个数值,只是经过了一个函数,没有改变空间信息
线性点运算的应用:
用于图像的增强,将灰度值范围进行拉伸拓展,那么图像的细节信息就比较明显了。
分段线性点运算的应用:
突出感兴趣进行拉伸灰度值范围,抑制不感兴趣的灰度区域,进行压缩灰度值范围。
非线性点运算
指数变换:输入比较窄(压缩比较暗的部分)、输出宽的(增强亮的部分)
应用:高斯拉伸、平方根拉伸
3.2.2单波段领域运算
领域窗口:
奇数窗口(比如3x3),有有一个中心像元。
滑动、跳跃窗口领域运算:
把中心像元赋给它
跳跃窗口,步长就是窗口的大小,不重叠,不用中心像元赋值,而是窗口中所有值都统一赋值。
卷积运算
对应相乘相加赋值中心。
应用:图像滤波(图像去噪声、图像增强)
领域统计(池化)
3.2.3 多波段运算
代数运算
eg:NDVI的计算
涉及到加法、减法、比值运算
剖面运算
提取剖面-得到单波段图像–开展单波段运算
3.3 集合运算
3.3.1空间操作
- 图像裁剪:注意边界,不然数据会缺失
DEM:数字高程模型数据,每个像元代表的是一个地表的高度、高程
坡度的计算:用两个像元的高度差除以分辨率(即两点中心的距离)
图像镶嵌 :和衣服坏了打补丁一样。
3.3.2波段操作
波段提取、波段叠加(同一地理范围)
3.4 逻辑运算
求反运算
与运算
或运算
异或运算(相同为0,不同为1)
逻辑运算综合应用
3.5 数学形态学运算
3.5.1 腐蚀
依次遍历,有与结构元素相同的就赋值为1,不相同赋值为0
操作示例:
原始的NDVI图像中间是有细小的田埂的,将其值进行二值运算,大于0.7的赋值为1,小于0.7的赋值为0,就得到了中间的那张图。采用结构元素(中间一行为1)进行腐蚀运算,这样田埂就可以消除。
3.5.2 膨胀
依次遍历一遍,有交集就赋值为1。
消除空洞点
3.5.3二值形态学
开运算
先腐蚀后膨胀运算
闭运算
先膨胀后腐蚀
3.5.4 灰度形态学腐蚀膨胀
腐蚀:
相减取最小值
相加取最大值
开运算
先腐蚀、后膨胀
闭运算
先膨胀后腐蚀
灰度形态学运算:去椒盐噪声(胡椒和白盐,胡椒是灰色的点,白盐是白色的点撒在这上面)
实验
图像裁剪和拼接
四、变换域处理方法
不要纠结数学公式
4.2主成分变换
最后那个主成分(pc7)看起来有噪声,可以把它去掉,或者甚至把后面几个主成分都去掉,把前面三个主成分(已占信息量99%)进行反变换,就可以实现信息压缩,去噪声
去相关、信息压缩、特征提取(最大的用处)
4.3最小噪声分离变换
估计噪声,进行主成分变换,调整后再进行主成分变换。
4.4缨帽变换
植物、土壤
Y = cX+a
应用也是那几个方向,特征提取(最关键)
缨帽变换后的图像分别对应亮度、绿度、湿度分量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXroXmoY-1676622345583)(null)]
缨帽变换后可以得到三个分量,可以突出显示水体、植被、岩石
4.5 傅里叶变换
通过频率来分离不同信号的方法!变换后噪声通常在高频部分
4.6 小波变换
小波:由零开始由零结束,中间为一段震荡的波
应用:图像压缩、图像去噪、图像增强、边缘检测、图像分割
4.7 颜色空间变换
4.7.1CMYK颜色空间
打印的时候一般用CMYK颜色空间
RGB颜色空间是加法混色
CMY颜色空间是减法混色
4.7.2 HSI颜色空间
色调H、色饱和度S、亮度I
4.7.3 颜色空间的相互转换
第五章 辐射校正
5.1辐射校正概述
辐射校正:消除或修正因辐射误差而引起的图像畸变这一过程
为了获取地表实际反射的太阳辐射亮度值或反射率,辐射校正通常包含以下三方面的处理:
传感器校正,即辐射定标
大气校正
地形及太阳高度角校正
5.2 传感器校正
消除传感器本身的误差
把DN值转化为辐射亮度或反射率
5.3 大气校正
为什么全色波段不做大气校正?大气校正是为了消除大气吸收散射的影响
首先从遥感的原理可以知道波长越短穿透能力越弱,所以蓝光波段最容易收到水汽影响(散射、反射等等),从蓝光到近红外水汽影响逐渐减弱,所以要对多光谱进行大气校正。而我们常见遥感数据的全色波段是不包含蓝光范围的,所以不再需要进行大气校正。
5.3.1大气校正统计模型
-
内部平均相对反射率法
假定图像内部地物充分混杂,将整幅图像的平均辐射光谱值作为参考光谱。计算像元光谱曲线与参考光谱曲线的比值,作为反射率。
计算方法:某波段像元灰度值/该波段所有像元灰度平均值
不足:当图像中出现强吸收的区域,平均值会变低。对于高反射率区域反射率会大于1,出现假的反射峰
-
平场域法
选择一块面积大且亮度高而光谱响应曲线变化平缓期的区域,如沙漠、水泥地建立平场域。
用灰度值除以平场域的灰度值
-
对数残差法
通过比值运算,把地形和光照因子给消掉
-
经验线性法
R=k∗DN+bR=k*DN+bR=k∗DN+b
就是反射率R作为纵坐标,DN值作为横坐标,线性回归拟合出一条直线。
样本点各向同性,光谱跨度要大,样本种类多,保持统一海拔。
5.3.2 大气校正物理模型
大气校正物理模型基础
6S模型
MODTRAN模型
ENVI处理时:
在输入辐射定标后的图像后,弹出辐射亮度单位转换设置窗口,选择单一转换因子,关于单一转换因子的设定single scale factor这里,若在辐射定标的输出比例因子的设置时,使用的默认参数1,这里设置为10,如果使用的FLAASH默认参数,这里设置为1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wpqkGix3-1676622344074)(https://gitee.com/meiruni/image/raw/master/img/%E5%A4%A7%E6%B0%94%E6%A0%A1%E6%AD%A3%E5%8F%82%E6%95%B0.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8jkA1ojH-1676622344075)(https://gitee.com/meiruni/image/raw/master/img/%E5%A4%9A%E5%85%89%E8%B0%B1%E8%AE%BE%E7%BD%AE.png)]
这些公式不用记忆,都是根据前面讲的大气校正物理模型来构建的,只是对有些假设条件,比如大气模式、气溶胶模式不一样
5.4 地形及太阳高度角校正
消除由地形引起的辐射亮度误差,使坡度不同但反射性质相同的地物在图像中具有相同的亮度值
5.4.1 余弦校正(地形)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TNX1ocs3-1676622344078)(https://gitee.com/meiruni/image/raw/master/img/image-20220921154120734.png)]
主要是用了入射角和天顶角这样一个校正
如果i比较大,趋向于90°的话,cosi就趋向于0了,那么结果会很大。所以会出现过度校正的情况(校正的值远远高于实际的值)
5.4.2 半经验校正(地形)
5.4.3 太阳高度角校正(太阳)
通过将太阳高度光由倾斜照射变为垂直照射
太阳高度角校正就是用来除以sin或者cos就好。
第六章 几何校正
6.1 遥感图像的几何变形
遥感图像上各种地物的位置、形态、尺寸、方位等特征与其在某个图像投影的参照系统中表达要求不一致。
静态误差:传感器相对地面静止
动态误差:地球旋转
内部误差:传感器自身原因
外部误差:传感器正常,由其他各种因素造成的误差
几何变形的影响因素:
-
遥感平台位置和运动状态变化
-
地形起伏(像点位移)见4.2节
- 高(低)点在图像上的像点相对于平面点向远离(靠近)图像中心方向移动
-
地球表面曲率
地球表面是弧形的,不是直的,向图像中心移动
-
大气折射
-
地球自转
对于扫描类的传感器,地球自转会让影像偏离(错位)
6.2 遥感图像的几何校正
将多种因素引起的变形纠正过来
几何粗纠正(一般下载下来的图像都已经系统误差校正过)
几何精校正:利用GCP地面控制点进行
6.2.1几何精校正的过程与方法:
-
地面控制点选取
尽量选择图像上有明显、清晰的定位识别标志,如道路交叉点。
-
多项式校正模型
待校正的图像上的图像坐标(x,y)与真实地理坐标(X,Y)之间的函数映射关系
x是错误点横坐标,它与正确点(X,Y)存在一种函数关系(也就是通过已知的x,y,可以求出未知的X,Y)如果偏的比较明显,那么这个多项式函数相对就复杂些,即需要求出更多的参数aija_{ij}aij,bijb_{ij}bij使其满足这个方程。
当N=2时,M最少控制点数为6,M=(N+1)∗(N+2)2M=\frac{(N+1)*(N+2)}{2}M=2(N+1)∗(N+2)也就是最少需要在待校正的图像上找6个点,当然找的越多校正效果越好
-
坐标变换
直接校正法(从待校正图像出发)
利用步骤2求得的方程,可以根据(x,y)求出(X,Y),可以重新定位,然后把对应的像元值也赋予过来。但是原始图像存在几何变形,所以有些可能重复,难得到均匀排列的像元值。
间接校正法
从空白的校正后的图像出发,将(X,Y)定位,然后赋予对应像元值。
-
灰度重采样
运用步骤2函数后算出的(X,Y)坐标有些会出现小数点,这时候就得让它重新赋值。方法如下:
-
第一种:最近邻法(离哪个点近值就赋给哪个点)—简单但会造成像元值不连续
-
第二种:双线性内插法根据距离赋予权重,加权求和。最常用,解决不连续,但计算增加
-
第三种:三次卷积内插法。虽然边缘有所增强,但计算量太大
-
-
几何校正类型
-
图像到图像的几何校正
-
图像到地图
告诉经纬度
-
具有已知几何信息的几何校正
先建立一个几何查找表
-
正射校正(加Z轴)
正射校正不仅能够实现常规的几何校正功能,还能通过测量高程点和DEM来消除地形起伏引起的图像几何畸变,提高图像的几何精度。
经纬度更加精确
-
-
图像配准与投影转换
几何校正注重的是数据本身的处理,目的是为了对数据的一种真实性还原。
图像配准注重的是图与图(数据)之间的一种几何关系,其目的是为了和参考数据达成一致,不考虑参考数据坐标是否正确。
第七章 图像去噪声
7.1 噪声分类
随机噪声模型
a对应胡椒,b对应盐
噪声类别如何识别?
通常选择图像中白色的墙壁、灰色的地板,查看它的直方图形状来判断其噪声类型。
理论上单色的灰度值是一根柱子,比如白色的墙壁,255。如果它变了形状说明就有噪声。快接近255的时候特别高
混入噪声后直方图就变成了上面的这个形状
7.3空间域去噪声
空间域去噪声是利用待处理像元领域窗口内的像元进行均值、中值或其他运算得到新的灰度值,并将其赋给待处理像元,
通过对增幅图像进行窗口扫描及运算,达到去除噪声的目的。
空间域去噪方法:
7.3.1均值滤波
遍历+卷积运算,把均值赋给中心像元
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i1HEBxdx-1676622344097)(https://gitee.com/meiruni/image/raw/master/img/QQ%E6%88%AA%E5%9B%BE20220926154506.png)]
7.3.2 中值滤波
将中间的值赋予给中间像元
7.3.3边缘保持平滑滤波
中值滤波和均值滤波会将图像变得模糊,也就是图像变平滑了,主要是上图像的边缘不突出了。
边缘保持滤波设计思路:判断一下如果是边缘那么不要它滤波,让它去掉。
K邻近均值滤波
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TsO4cCRh-1676622344098)(https://gitee.com/meiruni/image/raw/master/img/QQ%E6%88%AA%E5%9B%BE20220926155733.png)]
7.3.4数学形态学去噪
开运算:去峰值噪声
闭运算:去低谷噪声
详看3.5节
7.4变换域去噪声
7.4.1 傅里叶变换去噪声
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fhrMKqao-1676622344098)(https://gitee.com/meiruni/image/raw/master/img/image-20220926161751492.png)]
可以看第4.5节,把图像转化成一个频谱图,中间是频率低的部分越往外频率越高。
低通滤波器:
就是低频的能通过,高频的被阻止了
带阻滤波器:
带阻就是将这个条带的频率阻止了
陷波滤波器:
某几个点的频率被阻止了
理想-巴特沃斯-高斯滤波器
它们的边界由区分明确到越来越模糊
7.4.2 小波变换去噪声
利用小波变换将高频分解出来,再将高频的系数置为0,然后重构出小波去噪后的图像。
小波变换去噪方法:小波阈值法
硬阈值、软阈值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oO2zcZBL-1676622344111)(https://gitee.com/meiruni/image/raw/master/img/image-20220926165059235.png)]
第八章图像增强
图像增强不一定增加了图像信息、图像增强不一定改变了图像的数据内容。
目的是为了改善图像的视觉效果,帮助我们更好的发现或识别图像中的某些特征。
8.1 空间域图像增强
灰度值经过某一种函数,让灰度值变化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ou4JOgss-1676622344113)(https://gitee.com/meiruni/image/raw/master/img/image-20220927163514300.png)]
8.1.1变换增强
线性变换
分段线性变换
反比变换
将灰度值取反
幂次变换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CChTrcf0-1676622344117)(https://gitee.com/meiruni/image/raw/master/img/image-20220927163821726.png)]
对数变换
反对数变换
8.1.2 直方图调整图像增强
直方图匹配
将一幅图像的直方图参照另一幅进行变换,使得两幅图的直方图相近或相似。
作用:调整两幅图像的色调差异,使得图像重叠区域的色调过渡柔和,改善图像融合和图像镶嵌效果。
直方图均衡化
对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。
8.1.3 反锐化增强
反锐化掩膜图像增强
-
领域运算图像增强
领域运算中的锐化滤波器,将图像中灰度值缓慢变化的区域滤去,使图像反差增加。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OpKX1m1J-1676622344119)(https://gitee.com/meiruni/image/raw/master/img/image-20220927170749732.png)]
-
反锐化掩膜图像增强
将图像进行卷积平滑操作,然后将原始图像与平滑操作后的图像相减,就得到了图像边缘信息,再把边缘信息给增大(给它都乘1个数),最后再将边缘信息和原图相加,这样图像边缘信息就增强了。
-
灰度形态学梯度运算图像增强
8.2 变换域图像增强
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RcldY47n-1676622344121)(https://gitee.com/meiruni/image/raw/master/img/image-20220927163002210.png)]
8.3伪彩色处理
8.4图像融合
图像融合类型3大类:
- 像元(数据)级融合:把分辨率的灰度图与低分辨率的多光谱图像进行融合,从而得到一幅高空间分辨率的彩色合成影像。
- 特征级融合:先对原始图像提取某些特征,比如边缘、纹理特征再来融合。
- 决策级融合:把信息融合在一块,比较抽象
图像融合条件:
-
图像空间信息匹配:空间的位置、图像行列数一致,涉及图像配准和低分辨率影像的重采样
-
图像光谱信息匹配:同名像元点的灰度值具有良好的相关性
最好是同一传感器在同一时间获得的两种影像
图像融合方法:
-
空间域代数转换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8jINlMqF-1676622344125)(https://gitee.com/meiruni/image/raw/master/img/image-20220927173955955.png)]
假如低空间分辨率为30米,高空间分辨率为10米,10和30是一个三倍的关系,一个高对应9个低,x方向有3个,y方向有3个,3*3=9,它就是把九个像元灰度值取出来做分母(跳跃窗口)
-
变换域替代法(偷梁换柱法)
只适用于RGB3个波段
适用于多个波段替换是有条件的,全色波段来替换的时候,要黑白颠倒,做一个反比变换,然后还得把值域范围拉伸到和第一主成分一样,然后替换,最后主成分反变换。
高分辨率图像先和低分辨率图像进行配准,然后挨个波段进行直方图匹配,如果有3个波段,就要匹配3次,得到3个直方图匹配后的结果,然后各自都进行小波变换,把高频替换,最后反变换
第9章 感兴趣目标及对象提取
感兴趣目标是用户最为关注的地方
提取流程
9.1 图像分割
(重点是各类图像分割方法的优缺点)
9.1.1阈值分割法
给定一个灰度值T分割目标区域和灰度区域,如果<T赋值为0,>=T赋值为1
核心:阈值的最优选取
9.1.2 边界分割法
沿着目标周边闭合的边界线将其包围的区域剪切出来
边缘检测方法
-
基于微分算子的边缘检测
算梯度值,边缘梯度值高
-
综合边缘检测
-
形态学梯度的边缘检测
边缘连接
9.1.3 区域提取分割法
-
区域生长分割法(是一种迭代方法)
首先在待分割区域选取一小块作为种子区域,然后逐渐将挨着它的与其性质相同或相似的合并进来。
好坏取决于种子点的选取,生长准则和终止条件
种子点的选取
一般通过先验知识选取,如果缺乏先验知识常常借助生长所用准则对图像进行聚类分析
生长准则
终止条件
区域生长法
-
区域分裂合并分割法
9.1.4 形态学分水岭分割
9.2 二值图像处理
9.2.1四近邻与八近邻
9.2.2四连通和八连通
9.2.3内部点与边界点
9.2.4 空洞点填补和碎块消除
9.3 对象提取
二值图像有多个连通域时,需要给它贴标签
贴标签时得区分四连通域和八连通域
判断其是否属于八连通区域
这是贴标签的结果,对于每一个连通域都有一个单独的编号。
如何提取边界?
首先可以用3x3的窗口腐蚀一下,腐蚀后边界就收缩了,它向里面收缩了一个像元,完了之后,用原图像减去腐蚀的结果,实际上也就把边界的像元提取出来了,然后把边界的矢量数据(x,y)坐标找出来,将(x,y)坐标—点与点之间连成线。
master/img/image-20220928143541846.png" alt=“image-20220928143541846” style=“zoom:50%;” />
9.2.3内部点与边界点
9.2.4 空洞点填补和碎块消除
9.3 对象提取
二值图像有多个连通域时,需要给它贴标签
贴标签时得区分四连通域和八连通域
判断其是否属于八连通区域
[外链图片转存中…(img-fvnh8A6L-1676622344130)]
这是贴标签的结果,对于每一个连通域都有一个单独的编号。
如何提取边界?
首先可以用3x3的窗口腐蚀一下,腐蚀后边界就收缩了,它向里面收缩了一个像元,完了之后,用原图像减去腐蚀的结果,实际上也就把边界的像元提取出来了,然后把边界的矢量数据(x,y)坐标找出来,将(x,y)坐标—点与点之间连成线。
相关文章:
遥感数字图像处理
遥感数字图像处理 来源:慕课北京师范大学朱文泉老师的课程 遥感应用:遥感制图、信息提取 短期内了解知识结构–>有选择的剖析经典算法原理–>系统化知识结构、并尝试实践应用 跳出算法(尤其是数学公式) 关注原理及解决问…...
深度学习常用的python函数(一)
由于我只简单的学过python和pytorch,其中有很多函数的操作都还是一知半解的,其中有些函数经常见到,所以就打算记录下来。 1.zip zip(*a):针对单个可迭代对象压缩成n个元组,元组数量n等于min(a中元素的最小长度) a [(1, 2), (3…...
2023年美国大学生数学建模A题:受干旱影响的植物群落建模详解+模型代码(一)
目录 前言 一、题目理解 背景 解析: 要求 二、建模 1.相关性分析 2.相关特征权重 只希望各位以后遇到建模比赛可以艾特认识一下我,我可以提供免费的思路和部分源码,以后的数模比赛只要我还有时间肯定会第一时间写出免费开源思路&…...
PPS文件如何转换成PPT?附两种方法
在工作中,PPS文件的使用还是很广泛的,因为作为幻灯片放映文件,点击后就能直接播放,十分方便。但如果想要修改PPS里的内容,PPS是无法编辑的,我们需要把文件转换成PPT,再进行修改。 那PPS文件如何…...
ParallelsDesktop安装【亲测可行】
我这边安装的是macos最新系统 (Ventura13.2) 本文参考这篇文章安装,但是你完全按照这篇文章会报错,具体可行操作记录如下 一、下载软件和补丁 1、点这里去下载补丁18.0.1 2、点这里去下载对应版本的ParallelsDesktop18.0.1,安装上到试用这里…...
在 Python 中只接受数字作为用户输入
只接受数字作为用户输入: 使用 while True 循环进行循环,直到用户输入一个数字。使用 float() 类尝试将值转换为浮点数。如果用户输入了一个数字,请使用 break 语句跳出循环。 while True:try:# 👇️ use int() instead of floa…...
【集合】JAVA基础篇(二)
目录一、java常用集合1、Java集合接口的作用2、Java集合常用实现类的作用二、Collection 常用的方法三、List 集合接口1、ArrayList类的常用方法2、LinkList类中的方法3、Vector4、ArrayList 类和 LinkedList 类的区别四、Set 集合1、HashSet 类2、TreeSet 类3、HashSet 和 Tre…...
机房意外掉电导致Elasticsearch的部分index无数据的修复过程
环境 :华为大数据集群FusionInsight V100R002C800SPC200、Elasticsearch 6.1.3、Kibana问题产生原因:因机房意外掉电导致集群部分机器两次掉电导致Elasticsearch重启,Elasticsearch重启后看似正常但某些index无数据。经排查判断为Elasticsearch的部分ind…...
Spring入门案例三:注解进行引用类型的自动装配
本系列文章将会带领大家进行Spring的全面学习,持续关注我,不断更新中… 一.案例分级 简单解析:配置类替代以前的配置文件,实体类提供对象,业务类中有实体类的引用对象,在业务层中实现引用类的自动装配。 二.各层代码…...
kubernet + kubevirt + ceph 汇总文档
目的 1 创建 kubenetes 集群 2 kubenetes 集群上部署 kubevirt 3 kubernetes 支持 ceph 存储 4 VMI 可以存储在 ceph rbd 存储中并正常使用 参考部署文档 名称连接备注centos8 + kubernetes 1.24 master/node 节点部署文档kubernetes 集群部署kubectl top node 使用方法部署文档…...
软件测试项目实战(附全套实战项目教程+视频+源码)
开通博客以来,我更新了很多实战项目,但一部分小伙伴在搭建环境时遇到了问题。 于是,我收集了一波高频问题,汇成本篇,供大家参考,避免重复踩坑。 如果你还遇到过其他坑和未解决的问题,可在评论区…...
Python seek()和tell()函数详解
在讲解 seek() 函数和 tell() 函数之前,首先来了解一下什么是文件指针。我们知道,使用 open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。那么,有没有办法可以自定指定读…...
数据库系统:1. 绪论
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验 文章目录1.1 数据库系统概述1.1.1 基本概念数据(data)数据库(DataBase, DB)数据库管理系统(DataBase Management System, DBMS)数据库系统…...
Android App开发基础
文章目录一 App的开发特点1.1 App的运行环境1.2 App开发语言1.3 java语言开发1.4 Kotlin语言开发1.5 XML1.6 App连接的数据库二 App的工程结构2.1 App工程目录结构2.2 构建工具Grade2.3 编译配置文件build.gradle2.4 运行配置文件AndroidManifest.xml2.4.1 application2.4.2 ac…...
力扣-分数排名
大家好,我是空空star,本篇带你了解一道简单的力扣sql练习题。 文章目录前言一、题目:178. 分数排名二、解题1.错误示范①提交SQL运行结果2.错误示范②提交SQL运行结果3.正确示范①提交SQL运行结果4.正确示范②提交SQL运行结果5.正确示范③提交…...
图文详解Ansible中的变量及加密
文章目录一、变量命名二、变量级别三、.变量设定和使用方式1.在playbook中直接定义变量2.在文件中定义变量3.使用变量4.设定主机变量和清单变量5.目录设定变量6.用命令覆盖变量7.使用数组设定变量8.注册变量9.事实变量10.魔法变量四、JINJA2模板五、 Ansible的加密控制练习1.用…...
silicon labs平台通过串口升级固件方案
开发环境 windowssimplicity studio 5geck sdk 4.1 一 bootloader 新建BGAPI UART DFU工程 工程新建完成以后看一下linkerfile.ld文件的flash和ram的配置跟自己的application工程是否对应得上 配置串口波特率和引脚 默认使用PB0进入bootloader模式,这里改成Non…...
MySQL 派生表产生关联索引auto_key0导致SQL非常的慢
相同的SQL在maridb运行0.5秒,在MySQL8.0.26中运行要19秒 官方MySQL在处理子查时,优化器有个优化参数derived_merge,MySQL7开启添加,默认on.很多情况可以自动优化派生表,避免创建临时索引auto_key0和生成临时表数据做…...
计算机网络期末复习汇总(附某高校期末真题试卷)
文章目录一、选择题二、填空题三、名词解析四、简答题五、高校期末真题一、选择题 1、传输延迟时间最小的交换方法是( A ) A.电路交换 B.报文交换 C.分组交换 D.信元交换 2、在OSI七层结构模型中,处于数据链路层与运输层之间的是( B) A、物…...
2月,还是不要跳槽
新年已经过去,马上就到金三银四跳槽季了,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。 在此展示一套学习笔记 / 面试手册,年后跳槽的朋友可以好好刷一刷,还是挺有必…...
科技爱好者周刊之爱好者记录
前言 平时浏览的内容杂七杂八,说好听一些叫做“内容丰富,涉猎甚广”,实际一些则是受到主流大环境的冲击加之自身的控制力尚且不足。 有过类似经历的人大多知道,碎片化的信息除了填充大脑的冗余空间,在短期时间内就会被…...
C++入门:函数重载
目录 一. 函数重载的概念和分类 1.1 什么是函数重载 1.2 函数重载的分类 1.3 关于函数重载的几点注意事项 二. C实现函数重载的底层逻辑(为什么C可以实现函数重载而C语言不能) 2.1 编译器编译程序的过程 2.2 为什么C可以实现函数重载而C语言不能 …...
每天10个前端小知识 【Day 16】
👩 个人主页:不爱吃糖的程序媛 🙋♂️ 作者简介:前端领域新星创作者、CSDN内容合伙人,专注于前端各领域技术,成长的路上共同学习共同进步,一起加油呀! ✨系列专栏:前端…...
23美赛D题:确定联合国可持续发展目标的优先级(ICM)思路Python代码
问题D(交叉网络建模题):确定联合国可持续发展目标的优先级(ICM) 赛题目的:对联合国制定的17个可持续发展目标进行关系网络的构建同时评估其可能存在的影响赛题解读&解题思路链接:交叉网络回归路径分析,如何寻找到能代表可持续发展目标的数值是这道题的难点。背景 联…...
高校房产管理系统有哪些管理功能范围?
数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品;通过在中国100多所高校的成功实施和迭代,形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。…...
ACM MM 相关内容的整理+汇总
目录一、网址二、重要时间点三、论文篇幅要求四、征稿主题五、论文格式相关要求六、论文模板修改成投稿模式上述参考七、模板使用相关八、关于图片方面的问题九、Review and Rebuttal十、ACM MM2022相关论文参考arxiv上 ACM MM2022 论文汇总一、网址 ACM MM2023 主页࿱…...
前段时间公司招人,面了一个要20K的,一问自动化只会点皮毛···
前段时间公司要招2个自动化测试,同事面了几十个候选人,发现了一个很奇怪的现象,面试的时候,如果问的是框架api、脚本编写这些问题,基本上个个都能对答如流,等问到实际项目的时候,类似“怎么从0开…...
链表:反转链表、快慢指针、删除链表【零神基础精讲】
来源0x3f:https://space.bilibili.com/206214 文章目录反转链表[206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/)[92. 反转链表 II](https://leetcode.cn/problems/reverse-linked-list-ii/)[25. K 个一组翻转链表](https://leetcode.cn/proble…...
SQlServer 定时执行sql语句作业的制定
1、打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】; 2、鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤; 3、展开【SQL Server 代理】列…...
Windows安装VMware虚拟机+配置Ubuntu的详细步骤以及解决配置过程中报错的问题(完整版)
目录 引言: 过程: 安装VMware虚拟机: 在VMware虚拟机中配置Ubuntu: 在VMware虚拟机中安装Ubuntu: VMware中启动虚拟机时报错问题的解决: 正式开始安装Ubuntu: 参考资料: 引言: 在学习计…...
一个空间建多个网站的方法/百度图片搜索入口
开发工具(工欲善其事必先利其器) 为了让大家更快的融入到编程的世界中, 不被繁琐的英语单词所困扰, 不用每天编写很多没有意义的重复代码, 提升大家的开发效率今后的课程中我们统一采用最高级高发工具来编写网页常见的前端开发工具 记事本: 提示功能较差editplus/nodepad: 提示…...
做网做网站建设/鹤壁seo推广
初级版轮播图,实现左右按钮切换图片,下方小点切换图片,简单的自动轮播 代码:(缺点,固定图片张数和宽度高度,每次用时都需要复制,代码累赘,多处功能不完善) …...
新疆交通建设管理局官方网站/优化培训课程
为什么80%的码农都做不了架构师?>>> 解决方案: 1.随便找一个你能运行的as项目 2.打开gradle-wrapper.properties,文件目录:项目/gradle/wrapper/gradle-wrapper.properties 3.复制distributionUrl这一整行的内容&…...
wordpress去除顶部导航/手机网站seo免费软件
HTML5 中工作线程(Web Worker)简介 至 2008 年 W3C 制定出第一个 HTML5 草案开始,HTML5 承载了越来越多崭新的特性和功能。它不但强化了 Web 系统或网页的表现性能,而且还增加了对本地数据库等 Web 应用功能的支持。其中ÿ…...
济南网站建设求职简历/百度seo收录软件
【log4j:WARN No appenders could be found for logger 解决方案】 【解决】 我们在使用Log4j的时候,总是出现: Java代码log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory). log4j:WARN Please initialize …...
沈阳做网站/视频剪辑培训
大王,1>小王,2>方片2,3>梅花2,4>红心2,5>黑桃2,6>方片A,7>梅花A,8>红心A,9>黑桃A,10>方片K,11>梅花K,12>红心K,13>黑桃K,14>方片Q,15>梅花Q,16>红心Q,17>黑桃Q,18>方片J,19>梅花J,20>红心J,21>黑桃J,22>方片…...