图像处理与视觉感知---期末复习重点(6)

文章目录

  • 一、图像分割
  • 二、间断检测
    • 2.1 概述
    • 2.2 点检测
    • 2.3 线检测
    • 2.4 边缘检测
  • 三、边缘连接
    • 3.1 概述
    • 3.2 Hough变换
    • 3.3 例子
    • 3.4 Hough变换的具体步骤
    • 3.5 Hough变换的法线表示形式
    • 3.6 Hough变换的扩展
  • 四、阈值处理
    • 4.1 概述
    • 4.2 计算基本全局阈值算法
    • 4.3 自适应阈值
  • 五、基于区域的分割
    • 5.1 概述
    • 5.2 区域生长
    • 5.3 区域的分裂与合并


一、图像分割

 1. 图像分割定义:是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。特性可以是灰度、颜色、纹理等;目标可以对应单个区域,也可以对应多个区域。

 2. 图像分割的目的:将图像划分为不同区域。

 3. 图像分割的原理:图像分割算法是基于亮度值的不连续性和相似性。
 (1) 不连续性是基于亮度的不连续变化分割图像,如图像边缘。
 (2) 根据制定的准则将图像分割为相似的区域,如阈值处理、区域生长、区域分离和聚合。

二、间断检测

2.1 概述

 1. 间断检测分为点检测、线检测和边缘检测。

 2. 寻找间断的一般方法:对整幅图像使用一个模板进行检测,这一过程包括计算模板所包围区域内灰度级与模板系数乘积之和,在图像中任意点的模板响应由下列公式给出: R = W 1 ∗ Z 1 + W 2 ∗ Z 2 + . . . . . W 9 ∗ Z 9 R=W_1*Z_1+W_2*Z_2+.....W_9*Z_9 R=W1Z1+W2Z2+.....W9Z9
 这里 Z i Z_i Zi 是与模板系数相联系的像素灰度级,模板响应定义是对于它的中心位置。

在这里插入图片描述

2.2 点检测

 1. 使用如下图所示的模板,如果 ∣ R ∣ ≥ T |R| ≥ T RT,则在模板中心位置检测到一个点。其中, T T T 是阈值, R R R 是模板计算值。

在这里插入图片描述

 2. 如果一个孤立点与它周围的点不同,则可以使用该模板进行检测。(该点的灰度级与其背景的差异相当大并且它所在的位置是一个均匀或近似均匀的区域)
注意:如果模板响应为 0 0 0,则表示在灰度级为常数的区域。

在这里插入图片描述

2.3 线检测

 1. 四个线检测模板如下图所示:
 (1) 第一个模板对水平线有最大响应。
 (2) 第二个模板对 45 ° 45° 45° 方向线有最大响应。
 (3) 第三个模板对垂直线有最大响应。
 (4) 第四个模板对 − 45 ° -45° 45° 方向线有最大响应。

在这里插入图片描述

 2. 用 R 1 R_1 R1 R 2 R_2 R2 R 3 R_3 R3 R 4 R_4 R4 分别代表水平、 45 ° 45° 45°、垂直和 − 45 ° -45° 45° 方向线的模板响应。在图像中心的点,如果 ∣ R i ∣ > ∣ R j ∣ |R_i| > |R_j| Ri>Rj j ≠ i j ≠i j=i,则此点被认为与在模板 i i i 方向上的线更相关。
 例:如果 ∣ R 1 ∣ > ∣ R j ∣ |R_1| > |R_j| R1>Rj j = 2 , 3 , 4 j = 2,3,4 j=2,3,4,则该点与水平线有更大的关联。
:在灰度恒定的区域,上述 4 4 4 个模板的响应均为零。

2.4 边缘检测

 1. 区分 “边缘” 和 “线”:边缘——图像局部区域特征不相同的那些区域间的分界线;线——具有很小宽度的其中间区域具有相同的图像特征。

 2. 常见的边缘模型:
 (1) 台阶边缘是指在 1 1 1 个像素的距离上发生两个灰度级间理想的过渡。
 (2) 一个更接近灰度斜坡的剖面。斜坡的斜度与边缘的模糊程度成反比,在这个模型中,不再存在一条细的( 1 1 1 像素宽)轨迹。相反,一个边缘点现在是斜坡中包含的任何点,而一条边缘线段是一组已连接起来的这样的点。

在这里插入图片描述

 3. (1) 在边缘斜面上,一阶导数为正,其它区域为零。 (2) 在边缘与黑色交界处,二阶导数为正。 (3) 在边缘与亮色交界处,二阶导数为负。 (4) 沿着斜坡和灰度为常数的区域二阶导数为零。

在这里插入图片描述

 4. 结论:(1) 一阶导数可用于检测图像中的一个点是否在边缘上。 (2) 二阶导数可以判断一个边缘像素是在边缘亮的一边还是暗的一边。 (3) 一条连接二阶导数正值和负值的虚构直线将在边缘中点附近穿过零点。 (4) 一阶导数使用梯度算子,二阶导数使用拉普拉斯算子。

三、边缘连接

3.1 概述

 1. 为什么需要边缘连接:由于噪声、照明等原因产生边缘间断,使得一组像素难以完整形成边缘;因此,在边缘检测算法后,使用连接过程将间断的边缘像素组合成完整边缘。

 2. 局部处理:分析图像中每个边缘点 ( x , y ) (x,y) (x,y) 的一个邻域内的像素,根据某种准则将相似点进行连接,由满足该准则的像素连接形成边缘。

3.2 Hough变换

 1. Hough变换问题的提出:在找出边界点集之后,需要连接形成完整的边界图形描述。

在这里插入图片描述

 2. Hough变换的基本思想:
 (1) 对于边界上的 n n n 个点的点集,找出共线的点集和直线方程。

 (2) 对于任意两点的直线方程: y = a x + b y = ax + b y=ax+b,构造一个参数 a a a b b b 的平面,从而有如下结论:
 ① x y xy xy 平面上的任意一条直线 y = a x + b y=ax+b y=ax+b,对应在参数 a b ab ab 平面上都有一个点。
在这里插入图片描述

 ② 过 x y xy xy 平面一个点 ( x , y ) (x,y) (x,y) 的所有直线,构成参数 a b ab ab 平面上的一条直线。

 ③ 如果点 ( x 1 , y 1 ) (x_1,y_1) (x1,y1) 与点 ( x 2 , y 2 ) (x_2,y_2) (x2,y2) 共线,那么这两点在参数 a b ab ab 平面上的直线将有一个交点,具有相同的 a a a b b b

在这里插入图片描述

 ④ 在参数 a b ab ab 平面上相交直线最多的点,对应的 x y xy xy 平面上的直线就是我们的解。

 ⑤ 得到点 A ( a , b ) A(a,b) A(a,b) 是我们的解(相交直线最多), ( a , b ) (a,b) (a,b) 对应到图像坐标系 x y xy xy 中所求直线的斜率和截距。

在这里插入图片描述

3.3 例子

 1. 如下图四个点: A . ( 0 , 0 ) A. (0,0) A.(0,0) B . ( 1 , 1 ) B. (1,1) B.(1,1) C . ( 2 , 2 ) C. (2,2) C.(2,2) D . ( 3 , 3 ) D. (3,3) D.(3,3) y = a x + b y = ax + b y=ax+b b = − x a + y b = −xa + y b=xa+y
 在关于 b b b a a a 的方程中带入四个点则 b = 0 b=0 b=0 b = − a + 1 b=-a+1 b=a+1 b = − 2 a + 2 b=-2a+2 b=2a+2 b = − 3 a + 3 b=-3a+3 b=3a+3

在这里插入图片描述

 2. 为了找到交点,首先将 a , b a,b a,b 离散化,假定 a , b a, b a,b 的范围在 [ − 2 , 2 ] [-2,2] [22] 之间, a = [ − 2 , − 1 , 0 , 1 , 2 ] a=[-2,-1,0,1,2] a=[2,1,0,1,2] b = [ − 2 , − 1 , 0 , 1 , 2 ] b=[-2,-1,0,1,2] b=[2,1,0,1,2],同时定义 5 ∗ 5 5*5 55 二维数组,每个位置对应 a , b a,b a,b 空间中离散化的点。
 (1) 对于直线 b = − a + 1 b=-a+1 b=a+1:让 a a a 在区间 [ − 2 , − 1 , 0 , 1 , 2 ] [-2,-1,0,1,2] [2,1,0,1,2] 内取值,可以得到直线 b = − a + 1 b=-a+1 b=a+1 上的 5 5 5 个点 ( − 2 , 3 ) (-2, 3) (2,3) ( − 1 , 2 ) (-1,2) (1,2) ( 0 , 1 ) (0,1) (0,1) ( 1 , 0 ) (1,0) (1,0) ( 2 , − 1 ) (2,-1) (2,1),注意到 ( − 2 , 3 ) (-2,3) (23) 不在表格内。

在这里插入图片描述

 (2) 对于直线 b = 0 b=0 b=0:让 a a a 在区间 [ − 2 , − 1 , 0 , 1 , 2 ] [-2,-1,0,1,2] [2,1,0,1,2] 内取值,可以得到直线 b = 0 b=0 b=0 上的 5 5 5 个点 ( − 2 , 0 ) (-2, 0) (2,0) ( − 1 , 0 ) (-1,0) (1,0) ( 0 , 0 ) (0,0) (0,0) ( 1 , 0 ) (1,0) (1,0) ( 2 , 0 ) (2,0) (2,0)。注意到 ( 1 , 0 ) (1,0) (10) 在对应的表格中再次出现,累加起来变成了 2 2 2

在这里插入图片描述

 (3) 对于直线 b = − 2 a + 2 b=-2a+2 b=2a+2:让 a a a 在区间 [ − 2 , − 1 , 0 , 1 , 2 ] [-2,-1,0,1,2] [2,1,0,1,2] 内取值,可以得到直线 b = − 2 a + 2 b=-2a+2 b=2a+2 上的 5 5 5 个点 ( − 2 , 6 ) (-2, 6) (2,6) ( − 1 , 4 ) (-1,4) (1,4) ( 0 , 2 ) (0,2) (0,2) ( 1 , 0 ) (1,0) (1,0) ( 2 , − 2 ) (2,-2) (2,2)。注意到 ( 1 , 0 ) (1,0) (10) 在对应的表格中再次出现,累加起来变成了 3 3 3

在这里插入图片描述

 (4) 对于直线 b = − 3 a + 3 b=-3a+3 b=3a+3:让 a a a 在区间 [ − 2 , − 1 , 0 , 1 , 2 ] [-2,-1,0,1,2] [2,1,0,1,2] 内取值,可以得到直线 b = − 3 a + 3 b=-3a+3 b=3a+3 上的 5 5 5 个点 ( − 2 , 9 ) (-2, 9) (2,9) ( − 1 , 6 ) (-1,6) (1,6) ( 0 , 3 ) (0,3) (0,3) ( 1 , 0 ) (1,0) (1,0) ( 2 , − 3 ) (2,-3) (2,3)。注意到 ( 1 , 0 ) (1,0) (10) 在对应的表格中再次出现,累加起来变成了 4 4 4。找到数组内最大值对应的参数,即 a = 1 a=1 a=1 b = 0 b=0 b=0;写出 4 4 4 个点所在的方程为 y = x y=x y=x

在这里插入图片描述

3.4 Hough变换的具体步骤

 1. 首先确定参数 a a a b b b 的每个取值区间,等间隔的离散化,建立对应的二维表格。

 2. 对于图像中的每个边缘点,在参数直线代入 a a a 的离散值得量化的 b b b 值,得到一组参数空间点,判断数据点在对应的表格中是否出现,出现加 1 1 1

 3. 找到表格中最大数对应的参数值 a a a b b b,写出直线方程。

3.5 Hough变换的法线表示形式

 1. 由于垂直直线的斜率 a a a 为无穷大,我们改用极坐标形式 x c o s θ + y s i n θ = ρ xcosθ + ysinθ = ρ xcosθ+ysinθ=ρ

 2. 参数平面为 θ , ρ θ,ρ θ,ρ,对应不是直线而是正弦曲线。

 3. 使用交点累加器,或交点统计直方图,找出相交线段最多的参数空间的点。

 4. 然后找出该点对应的 x y xy xy 平面的直线线段。

3.6 Hough变换的扩展

 1. Hough变换不只对直线,也可以用于圆:

在这里插入图片描述

 2. 在参数空间里建立一个3D(三个参数的空间)的累加单元的数组 A A A,其元素可写为 A ( a , b , r ) A(a,b,r) A(a,b,r)

 3. 让 a a a b b b 依次变化并根据式计算出 r r r,并对 A A A 累加: A ( a , b , r ) = A ( a , b , r ) + 1 A(a,b,r)=A(a,b,r)+1 A(a,b,r)=A(a,b,r)+1。从理论上说,计算量和累加器尺寸随参数个数的增加是指数增加的,所以实际中Hough变换比较适合检测较简单曲线上的点。

四、阈值处理

4.1 概述

 1. 阈值处理操作: T = T [ x , y , p ( x , y ) , f ( x , y ) ] T =T[x, y, p(x, y), f(x, y)] T=T[x,y,p(x,y),f(x,y)] f ( x , y ) f(x,y) f(x,y) 是点 ( x , y ) (x,y) (x,y) 的灰度级, p ( x , y ) p(x,y) p(x,y) 表示该点的局部性质,如以 ( x , y ) (x,y) (x,y) 为中心的邻域的平均灰度级。

 2. 阈值处理后的图像 g ( x , y ) g(x,y) g(x,y) 定义如下:

在这里插入图片描述

 3. 标记为 1 1 1 的像素对应于对象,标记为 0 0 0 的像素对应于背景。当 T T T 仅取决于 f ( x , y ) f(x,y) f(x,y),阈值称为全局的;当 T T T 取决于 f ( x , y ) f(x,y) f(x,y) p ( x , y ) p(x,y) p(x,y),阈值是局部的;当 T T T 取决于空间坐标 x x x y y y,阈值就是动态的或自适应的。

在这里插入图片描述

4.2 计算基本全局阈值算法

 1. 选择一个 T T T 的初始估计值。

 2. 用 T T T 分割图像,生成两组像素: G 1 G_1 G1 由所有灰度值大于 T T T 的像素组成,而 G 2 G_2 G2 由所有灰度值小于或等于 T T T 的像素组成。

 3. 对区域 G 1 G_1 G1 G 2 G_2 G2 中的所有像素计算平均灰度值 µ 1 µ_1 µ1 µ 2 µ_2 µ2

 4. 计算新的阈值: T = 1 / 2 ( µ 1 + µ 2 ) T=1/2(µ_1+µ_2) T=1/2(µ1+µ2)

 5. 重复步骤 2 2 2 4 4 4,直到逐次迭代所得的 T T T 值之差小于事先定义的参数 T 0 T_0 T0

4.3 自适应阈值

 1. 单一全局阈值存在的问题:不均匀亮度图像无法有效分割。

 2. 方法:将图像进一步细分为子图像,并对不同的子图像使用不同的阈值处理。
 解决的关键问题:如何将图像进行细分和如何为得到的子图像估计阈值。
 自适应阈值:取决于像素在子图像中的位置。

在这里插入图片描述

五、基于区域的分割

5.1 概述

 1. 目标:将区域 R R R 划分为若干个子区域 R 1 R_1 R1, R 2 R_2 R2,…, R n R_n Rn,这些子区域满足 5 5 5 个条件:
 (1) 完备性: ∑ R i = R ∑R_i=R Ri=R
 (2) 连通性:每个 R i R_i Ri 都是一个连通区域。
 (3) 独立性:对于任意 i ≠ j i≠j i=j R i ∩ R j = Ф R_i∩R_j= Ф RiRj=Ф
 (4) 单一性:每个区域内的灰度级相等, P ( R i ) = T R U E P(R_i)= TRUE P(Ri)=TRUE i = 1 , 2 , … , n i = 1,2,…,n i=1,2,,n
 (5) 互斥性:任两个区域的灰度级不等, P ( R i ∪ R j ) = F A L S E P(R_i∪R_j)= FALSE P(RiRj)=FALSE i ≠ j i≠j i=j

 2. 基于区域的分割方法分两类:(1) 区域生长。 (2) 区域分裂与合并。

5.2 区域生长

 1. 区域生长的算法实现:
 (1) 根据图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点。
 (2) 选择一个描述符(条件)。
 (3) 从该种子开始向外扩张,首先把种子像素加入结果集合,然后不断将与集合中各个像素连通、且满足描述符的像素加入集合。
 (4) 上一过程进行到不再有满足条件的新结点加入集合为止。

在这里插入图片描述

 2. 例子:
 (1) 种子选择准则:最亮的点。
 (2) 相似性准则:新加入像素值与已生长的区域的平均值之差的绝对值小于 2 2 2(含不等于),且为 4 4 4 连通。
 (3) 终止准则:没有像素加入。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3 区域的分裂与合并

 1. 生长方法:先从单个种子像素开始通过不断接纳新像素,最后得到整个区域。
 另外一种分割的想法:先从整幅图像开始通过不断分裂,得到各个区域(在实际中,先将图像分成任意大小且不重叠的区域,然后再合并或分裂这些区域,以满足分割的要求)。在这类方法中,常根据图像的统计特性设定图像区域属性的一致性测度。
:基于灰度统计特性;区域的边缘信息来决定是否对区域进行合并或分裂。

 2. 算法实现:
 (1) 将图像分成分成大小相等的四个区域。
 (2) 对每个区域不满足相似性准则的继续划分。
 (3) 如果相邻的区域满足特定的准则,则将其合并。
 (4) 反复进行(1)和(2)操作,直至不再有新的分裂与合并为止。

在这里插入图片描述

 3. 例子:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

 4. 对于灰度图象的一些可以选择的分裂-合并准则:
 (1) 同一区域中最大灰度值与最小灰度值之差或方差小于某选定的阈值。
 (2) 两个区域的平均灰度值之差及方差小于某个选定的阈值。
 (3) 两个区域的灰度分布函数之差小于某个选定的阈值。
 (4) 两个区域的某种图像统计特征值的差小于等于某个阈值。

 5. 例子如下。图中红色区域为目标,其它区域为背景,它们都具有常数灰度值。
 (1) 对整个图像 R R R P ( R ) = F A L S E P(R)=FALSE P(R)=FALSE,( P ( R ) = T R U E P(R)=TRUE P(R)=TRUE 代表在 R R R 中的所有像素都具有相同的灰度值),所以先将其分裂成如图 (a) 所示的四个正方形区域。
 (2) 由于左上角区域满足 P P P,所以不必继续分裂,其它三个区域继续分裂而得到 (b)。
 (3) 此时除包括目标下部的两个子区域外,其它区域都可分别按目标和背景合并。对下面的两个子区域继续分裂可得到 (c ),因为此时所有区域都已满足 P P P,所以最后一次合并可得到 (d) 的分割结果。

在这里插入图片描述

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

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

相关文章

LeetCode-131. 分割回文串【字符串 动态规划 回溯】

LeetCode-131. 分割回文串【字符串 动态规划 回溯】 题目描述:解题思路一:回溯, 回溯三部曲解题思路二:0解题思路三:0 题目描述: 给你一个字符串 s,请你将 s 分割成一些子串,使每个…

常用软件架构模式优缺点及应用场景

1、分层架构模式 最常见的架构模式就是分层架构或者称为 n 层架构。大部分软件架构师、设计师和开发者都对这个架构模式非常熟悉。尽管对于层的数量和类型没有具体限制,但大部分分层架构主要由四层组成:展现层、业务层、持久层和数据库层,如…

Peter算法小课堂—树状数组

大家好,我是人见人爱,花见花开,车见车爆胎的树状数组Peter Pan,hhh 讲正文前,先来一个长文警告⚠很重要的知识点:L SB(SB?) LSB 怎么算呢? 哦……懂了&…

LeetCode-79. 单词搜索【数组 字符串 回溯 矩阵】

LeetCode-79. 单词搜索【数组 字符串 回溯 矩阵】 题目描述:解题思路一:回溯 回溯三部曲。这里比较关键的是给board做标记,防止之后搜索时重复访问。解题思路二:回溯算法 dfs,直接看代码,很容易理解。visited哈希,防止…

计算机网络——33多点访问协议

多点访问协议 多路访问链路和协议 两种类型的链路(一个子网内部链路连接形式) 点对点 拨号访问的PPP以太网交换机和主机之间的点对点链路 广播 传统以太网HFC上行链路802.11无线局域网 多路访问协议 单个共享的广播型链路 2个过更多结点同时传送&am…

c# 指数搜索(Exponential Search)

该搜索算法的名称可能会产生误导,因为它的工作时间为 O(Log n)。该名称来自于它搜索元素的方式。 给定一个已排序的数组和要 搜索的元素 x,找到 x 在数组中的位置。 输入:arr[] {10, 20, 40, 45, 55} x 45 输出:在索…

Aurora8b10b(1)IP核介绍并基于IP核进行设计

文章目录 前言一、IP核设置二、基于IP核进行设计2.1、设计框图2.2、aurora_8b10b_0模块2.3、aurora_8b10b_0_CLOCK_MODULE2.4、aurora_8b10b_0_SUPPORT_RESET_LOGIC2.5、aurora8b10b_channel模块2.6、IBUFDS_GTE2模块2.7、aurora_8b10b_0_gt_common_wrapper模块2.8、aurora8b10…

GIS水文分析填充伪洼地学习

1 基本操作 洼地是指流域内被较高高程所包围的局部区域; 分为自然洼地和伪洼地; 自然洼地是自然界实际存在的洼地; 在 DEM 数据中,由于数据处理的误差和不合适的插值方法所产生的洼地,称为伪洼地; DEM 数据…

文件服务器之二:SAMBA服务器

文章目录 什么是SAMBASAMBA的发展历史与名称的由来SAMBA常见的应用 SAMBA服务器基础配置配置共享资源Windows挂载共享Linux挂载共享 什么是SAMBA 下图来自百度百科 SAMBA的发展历史与名称的由来 Samba是一款开源的文件共享软件,它基于SMB(Server Messa…

Python环境搭建—安装PyCharm开发工具

🥇作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1 🔥本文已收录于Python系列专栏: 零基础学Python 💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python视频教程以及Python相关电子书合…

基于SpringBoot的“网上书城管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“网上书城管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统首页界面图 用户注册界面…

传输层 --- TCP (上篇)

目录 1. TCP 1.1. TCP协议段格式 1.2. TCP的两个问题 1.3. 如何理解可靠性 1.4. 理解确认应答机制 2. TCP 报头中字段的分析 2.1. 序号和确认序号 2.1.1. 序号和确认序号的初步认识 2.1.2. 如何正确理解序号和确认序号 2.2. TCP是如何做到全双工的 2.3. 16位窗口大小…

[C++初阶]初识C++(二)

建议先看完上篇:[C初阶]初识C(一)—————命名空间和缺省函数-CSDN博客 本篇部分代码和文案来源:百度文库,知乎,比特就业课 1.函数重载 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真…

低代码革新:软件开发的未来潜力与创新路径探索

过去的一年,挑战与机遇并存。人们一边忧虑市场经济下行所带来的新的增长难题、裁员危机,一边惊叹于AIGC、量子技术等领域不断涌现新的创新成果。 时代发生了改变,传统“互联网”的模式已走入尾声,新一轮的科技革命与产业变革正在到…

当我入职了电商数据Python程序员时……

当年刚入职电商数据爬虫程序员这个岗位的时候,真的是慷慨激昂,富有激情和执着,每天开开心心投入到新工作中。然而,刚开始面对的第一个挑战是爬取电商网站的商品详情数据时遇到了滑块验证码。尝试了各种方法,但都无济于…

不妨借一步说话,你想知道的关于设计模式的种种

可以点击关于我联系我获取完整PDF (VX:mm14525201314) 1. 请列举出在 JDK 中几个常用的设计模式? 单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。 工厂模式(Factory pattern&…

java Web 辅助学习管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 java Web 辅助学习管理系统是一套完善的信息管理系统,结合java 开发技术和bootstrap完成本系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 bootstr…

代码随想录-算法训练营day02【滑动窗口、螺旋矩阵】

专栏笔记:https://blog.csdn.net/weixin_44949135/category_10335122.html https://docs.qq.com/doc/DUGRwWXNOVEpyaVpG?uc71ed002e4554fee8c262b2a4a4935d8977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议…

@RequstBody,IOC,DI,@Autowired,@Resource,lombok,

要使用Jason数据格式必须用post方法,因为是通过请求体传送的,get没有请求体 Data不包括有参构造和无参构造方法

AI绘图cuda与stable diffusion安装部署始末与避坑

stable diffusion的安装说起来很讽刺,最难的不是stable diffusion,而是下载安装cuda。下来我就来分享一下我的安装过程,失败了好几次,几近放弃。 一、安装cuda 我们都知道cuda是显卡CPU工作的驱动(或者安装官网的解释…