数字图像处理-图像复原与重建

news2025/1/16 15:53:09

文章目录

  • 一、图像退化/复原过程的模型
  • 二、噪声模型
    • 2.1噪声的空间和频率特性
    • 2.2一些重要的噪声概率密度函数
      • 2.2.1高斯噪声
      • 2.2.2瑞利噪声
      • 2.2.3爱尔兰(伽马)噪声
      • 2.2.4指数噪声
      • 2.2.5均匀噪声
      • 2.2.6脉冲(椒盐)噪声
    • 2.3周期噪声
  • 三、只存在噪声的复原----空间滤波
    • 3.1均值滤波器
      • 3.1.1算术均值滤波器
      • 3.1.2几何均值滤波器
      • 3.1.3谐波均值滤波器
      • 3.1.4逆谐波均值滤波器
    • 3.2统计排序滤波器
      • 3.2.1中值滤波器
      • 3.2.2最大值和最小值滤波器
      • 3.2.3中点滤波器
      • 3.2.4修正的阿尔法均值滤波器
    • 3.3自适应滤波器
      • 3.3.1自适应局部降低噪声滤波器
      • 3.3.2自适应中值滤波器
  • 四、用频率域滤波消除周期噪声
    • 4.1带阻滤波器
    • 4.2带通滤波器
    • 4.3陷波滤波器
  • 五、退化函数
  • 六、维纳滤波
  • 七、小结

一、图像退化/复原过程的模型

  图像退化过程可以理解为将原始图片 f ( x , y ) f(x,y) f(x,y)经过退化函数 H H H的处理,在加上一个噪声项从而获得退化后的图像 g ( x , y ) g(x,y) g(x,y)。而复原过程即为结合给定的退化函数 H H H与噪声 η ( x , y ) \eta(x,y) η(x,y)重构原始图像的估计结果 f ^ ( x , y ) \hat f(x,y) f^(x,y),并在复原过程希望 f ^ ( x , y ) \hat f(x,y) f^(x,y)尽可能与 f ( x , y ) f(x,y) f(x,y)相似。
  退化函数通常遵循如下范式:(“ ⋆ \star ”表示空间卷积)
g ( x , y ) = h ( x , y ) ⋆ f ( x , y ) + η ( x , y ) g(x,y) = h(x,y)\star f(x,y)+\eta (x,y) g(x,y)=h(x,y)f(x,y)+η(x,y)
上述为课本中的理论介绍,而在实际应用场景中模糊、散焦、运动模糊等等都属于退化。而复原即为将获取到的图片复原成原场景下的图片。

二、噪声模型

  数字图像的噪声主要来源于图像的获取或传输过程。

2.1噪声的空间和频率特性

  频率特性是指傅里叶域中噪声的频率内容(即相对于电磁披谱的频率)。 例如,当噪声的傅里叶谱是常量时,通常称为白噪声。之所以称之为白噪声是因为物理中白光等比例包含可见光谱中几乎所有频率,而以相同比例包含所有频率的函数的傅里叶谱是常量。

2.2一些重要的噪声概率密度函数

2.2.1高斯噪声

  高斯噪声的概率密度函数(PDF)由下式给出:
p ( z ) = 1 2 π σ e − ( z − z ‾ ) 2 / 2 σ 2 p(z)=\frac{1}{\sqrt{2\pi }\sigma }e^{-(z-\overline{z})^{2}/2\sigma ^{2}} p(z)=2π σ1e(zz)2/2σ2
  上述式子中, z z z表示灰度值, z ‾ \overline{z} z表示 z z z的均值, σ \sigma σ表示 z z z的标准差,标准差的平方 σ 2 \sigma^{2} σ2称为 z z z的方差。 z z z的值有70%落在 [ z ‾ − σ , z ‾ + σ ] [\overline{z} -\sigma ,\overline{z} +\sigma ] [zσ,z+σ]范围内,有95%落在 [ z ‾ − 2 σ , z ‾ + 2 σ ] [\overline{z} -2\sigma ,\overline{z} +2\sigma ] [z2σ,z+2σ]范围内。高斯函数的曲线及加噪效果如图所示:
在这里插入图片描述

2.2.2瑞利噪声

  瑞利噪声的PDF由下式给出:
p ( z ) = { 2 b ( z − a ) e − ( z − a ) 2 / b z ≥ a 0 z < a p(z)=\left\{\begin{matrix} \frac{2}{b}(z-a)e^{-(z-a)^{2}/b} & z\geq a\\ 0 & z< a \end{matrix}\right. p(z)={b2(za)e(za)2/b0zaz<a
概率密度的均值和方差如下所示:
μ = a + π b / 4 \mu =a+\sqrt{\pi b/4} μ=a+πb/4
σ 2 = b ( 4 − π ) 4 \sigma ^{2}=\frac{b(4-\pi )}{4} σ2=4b(4π)
  距原点的位移和密度的基本形状向右变形了这一事实。瑞利密度对于近似歪斜的直方图十分适用。瑞利密度的曲线及加噪效果如下所示:
在这里插入图片描述

2.2.3爱尔兰(伽马)噪声

  伽马噪声的PDF由下式给出:
p ( z ) = { a b z b − 1 ( b − 1 ) ! e − a z z ≥ a 0 z < a p(z)=\left\{\begin{matrix} \frac{a^{b}z^{b-1}}{(b-1)!}e^{-az}&z\geq a \\ 0 & z< a \end{matrix}\right. p(z)={(b1)!abzb1eaz0zaz<a
其概率密度的均值和方差如下所示:
μ = b a , σ 2 = b a 2 \mu =\frac{b}{a},\sigma ^{2}=\frac{b}{a^{2}} μ=ab,σ2=a2b
尽管通常将该概率密度函数称为伽马密度,但只有分母为伽马函数 Γ ( b ) \Gamma(b) Γ(b)才是正确的,其名称应为爱尔兰密度。该密度函数的曲线及加噪效果如下所示:
在这里插入图片描述

2.2.4指数噪声

  指数噪声的PDF由下式给出(a>0):
p ( z ) = { a e − a z z ≥ 0 0 z < 0 p(z)=\left\{\begin{matrix}ae^{-az} & z\geq 0\\ 0 & z< 0\end{matrix}\right. p(z)={aeaz0z0z<0
  该概率密度函数的均值和方差如下所示:
μ = 1 a , σ 2 = 1 a 2 \mu =\frac{1}{a},\sigma ^{2}=\frac{1}{a^{2}} μ=a1,σ2=a21
  指数分布的PDF是当b=1时爱尔兰分布的特殊情况。该密度函数的曲线及加噪效果如下所示:
在这里插入图片描述

2.2.5均匀噪声

  均匀分布噪声的PDF由下式给出:
p ( z ) = { 1 b − a a ≤ z ≤ b 0 其他 p(z)=\left\{\begin{matrix}\frac{1}{b-a} & a\leq z\leq b\\ 0 & 其他\end{matrix}\right. p(z)={ba10azb其他
  该概率密度函数的均值和方差如下所示:
μ = a + b 2 , σ 2 = ( b − a ) 2 12 \mu =\frac{a+b}{2},\sigma ^{2}=\frac{(b-a)^{2}}{12} μ=2a+b,σ2=12(ba)2
  该密度函数的曲线及加噪效果如下所示:
在这里插入图片描述

2.2.6脉冲(椒盐)噪声

  脉冲噪声的PDF由下式给出:
p ( z ) = { P a z = a P b z = b 1 − P a − P b 其他 p(z)=\left\{\begin{matrix} P_{a} &z=a \\P_{b} &z=b \\ 1-P_{a}-P_{b} & 其他 \end{matrix}\right. p(z)= PaPb1PaPbz=az=b其他
  如果 P a P_{a} Pa P b P_{b} Pb为零,则脉冲噪声称为单极脉冲;如果 P a P_{a} Pa P b P_{b} Pb均不为零,则脉冲噪声称为双极脉冲噪声或椒盐噪声。
  脉冲噪声可以为正,也可为负。标定以后,脉冲噪声总是数字化为最大值(纯黑或纯白)。通常,负脉冲以黑点(胡椒点)出现,正脉冲以白点(盐点)出现。该密度函数的曲线及加噪效果如下所示:
在这里插入图片描述

2.3周期噪声

  周期噪声是在图像获取中从电力或机电干扰中产生,周期噪声可以通过频率域滤波显著减少。

三、只存在噪声的复原----空间滤波

  当唯一退化是噪声时吗,退化函数变为如下形式:
g ( x , y ) = f ( x , y ) + η ( x , y ) g(x,y)=f(x,y)+\eta (x,y) g(x,y)=f(x,y)+η(x,y)
  噪声项通常是未知的,可以选择空间滤波方法进行图像复原。

3.1均值滤波器

3.1.1算术均值滤波器

  这是最简单的均值滤波器,令 S x y S_{xy} Sxy表示中心在 ( x , y ) (x,y) (x,y),尺寸为 m × n m×n m×n的矩形窗口,平滑了一幅图像的局部变化,在模糊了结果的同时减少了噪声。
f ^ ( x , y ) = 1 m n ∑ ( s , t ) ∈ S x y g ( s , t ) \widehat{f}(x,y)=\frac{1}{mn}\sum _{(s,t)\in S_{xy}}g(s,t) f (x,y)=mn1(s,t)Sxyg(s,t)

3.1.2几何均值滤波器

  几何均值滤波器所达到的平滑度可以与算术 均值滤波器相比,但几何均值滤波器在滤波过程中,与算术均值滤波器相比,会丢失更少的图像细节。
f ^ ( x , y ) = [ ∏ ( s , t ) ∈ S x y g ( s , t ) ] 1 m n \widehat{f}(x,y)=[\prod _{(s,t)\in S_{xy}}g(s,t)]^{\frac{1}{mn}} f (x,y)=[(s,t)Sxyg(s,t)]mn1

3.1.3谐波均值滤波器

  谐波均值滤波器对于“盐”噪声效果好,但不适用于“胡椒”噪声,善于处理高斯噪声。
f ^ ( x , y ) = m n ∑ ( s , t ) ∈ S x y 1 g ( s , t ) \widehat{f}(x,y)=\frac{mn}{\sum _{(s,t)\in S_{xy}}\frac{1}{g(s,t)}} f (x,y)=(s,t)Sxyg(s,t)1mn

3.1.4逆谐波均值滤波器

f ^ ( x , y ) = ∑ ( s , t ) ∈ S x y g ( s , t ) Q + 1 ∑ ( s , t ) ∈ S x y g ( s , t ) Q \widehat{f}(x,y)=\frac{\sum _{(s,t)\in S_{xy}}g(s,t)^{Q+1}}{\sum _{(s,t)\in S_{xy}}g(s,t)^{Q}} f (x,y)=(s,t)Sxyg(s,t)Q(s,t)Sxyg(s,t)Q+1
  Q称为滤波器的阶数。当Q为正数时,用于消除胡椒噪声;当Q为负数时,用于消除盐粒噪声,但不能同时消除两种噪声。当Q=0,逆谐波均值滤波器等价于算术均值滤波器;当Q=-1,逆谐波均值滤波器等价于谐波均值滤波器。

3.2统计排序滤波器

3.2.1中值滤波器

f ^ ( x , y ) = m e d i a n ( s , t ) ∈ S x y g ( s , t ) \widehat{f}(x,y)=median_{(s,t)\in S_{xy}}g(s,t) f (x,y)=median(s,t)Sxyg(s,t)
  在相同尺寸下,比起均值滤波器引起的模糊少,对单极或双极脉冲噪声非常有效。

3.2.2最大值和最小值滤波器

  最大值滤波器如下所示:
f ^ ( x , y ) = m a x ( s , t ) ∈ S x y g ( s , t ) \widehat{f}(x,y)=max_{(s,t)\in S_{xy}}g(s,t) f (x,y)=max(s,t)Sxyg(s,t)
  ;用于发现图像中的最亮点,可以有效过滤胡椒噪声)。
  最小值滤波器如下所示:
f ^ ( x , y ) = m i n ( s , t ) ∈ S x y g ( s , t ) \widehat{f}(x,y)=min_{(s,t)\in S_{xy}}g(s,t) f (x,y)=min(s,t)Sxyg(s,t)
  用于发现图像中的最暗点,可以有效过滤盐粒噪声。

3.2.3中点滤波器

f ^ ( x , y ) = 1 2 [ m a x ( s , t ) ∈ S x y g ( s , t ) + m i n ( s , t ) ∈ S x y g ( s , t ) ] \widehat{f}(x,y)=\frac{1}{2}[max_{(s,t)\in S_{xy}}g(s,t)+min_{(s,t)\in S_{xy}}g(s,t)] f (x,y)=21[max(s,t)Sxyg(s,t)+min(s,t)Sxyg(s,t)]
  结合了顺序统计和求平均,对于高斯和均匀随机分布这类噪声有最好的效果。

3.2.4修正的阿尔法均值滤波器

  假设在 S x y S_{xy} Sxy邻域内去掉 g ( s , t ) g(s,t) g(s,t)最高灰度值的 d / 2 d/2 d/2和最低灰度值的 d / 2 d/2 d/2。令 g r ( s , t ) g_{r}(s,t) gr(s,t)代表剩余的 m n − d mn-d mnd个像素,当 d = 0 d=0 d=0,等价于算术均值滤波器;当 d = ( m n − 1 ) / 2 d=(mn-1)/2 d=(mn1)/2,等价于中值滤波器;当 d d d取其它值时,适用于包括多种噪声的情况下,例如高斯噪声和椒盐噪声混合的情况。
f ^ ( x , y ) = 1 m n − d ∑ ( s , t ) ∈ S ( x y ) g r ( s , t ) \widehat{f}(x,y)=\frac{1}{mn-d}\sum _{(s,t)\in S_(xy)}g_{r}(s,t) f (x,y)=mnd1(s,t)S(xy)gr(s,t)

3.3自适应滤波器

3.3.1自适应局部降低噪声滤波器

  滤波器作用于局部区域 S x y S_{xy} Sxy,滤波器在该区域中心任何一点 ( x , y ) (x,y) (x,y)的响应基于以下4个量:a. g ( x , y ) g(x,y) g(x,y),带噪图像在点 ( x , y ) (x,y) (x,y)上的值;b. σ n 2 \sigma _{n}^{2} σn2,污染 f ( x , y ) f(x,y) f(x,y)以形成 g ( x , y ) g(x,y) g(x,y)的噪声方差;c. m L m_{L} mL S x y S_{xy} Sxy中像素的局部均值; d. σ L 2 \sigma _{L}^{2} σL2 S x y S_{xy} Sxy中像素的局部方差。
  滤波器的预期性能如下:
1、如果 σ n = 0 \sigma _{n}=0 σn=0,滤波器返回g(x,y)的值。因为在g(x,y)下零噪声的情况等同于f(x,y)。
2、如果局部方差 σ L 2 \sigma _{L}^{2} σL2 σ n 2 \sigma _{n}^{2} σn2高相关,滤波器返回一个g(x,y)的近似值。
3、如果 σ L 2 = σ n 2 \sigma _{L}^{2}=\sigma _{n}^{2} σL2=σn2,滤波器返回区域 S x y S_{xy} Sxy上像素的算术均值。这样局部噪声用求平均 m L m_{L} mL来降低。
    基于这些假设得到的 f ^ ( x , y ) \widehat{f}(x,y) f (x,y)的自适应表达式可以写成:
f ^ ( x , y ) = g ( x , y ) − σ η 2 σ L 2 [ g ( x , y ) − m L ] \widehat{f}(x,y)=g(x,y)-\frac{\sigma _{\eta }^{2}}{\sigma _{L}^{2}}[g(x,y)-m_{L}] f (x,y)=g(x,y)σL2ση2[g(x,y)mL]
    唯一需要知道或估计的未知量是噪声方差 σ n 2 \sigma _{n}^{2} σn2,其它参数可以从 S x y S_{xy} Sxy中的像素计算出来。

3.3.2自适应中值滤波器

    传统中值滤波器只能处理空间密度不大的冲激噪声( p a p_{a} pa p b p_{b} pb<0.2),而自适应中值滤波器可以处理具有更大概率的冲激噪声,可以在平滑非冲激噪声时保存细节,而传统中值滤波器无法做到。
    考虑如下符号:
    1、 z m i n = S x y z_{min}=S_{xy} zmin=Sxy中灰度级的最小值
    2、 z m a x = S x y z_{max}=S_{xy} zmax=Sxy中灰度级的最大值
    3、 z m e d = S x y z_{med}=S_{xy} zmed=Sxy中灰度级的中值
    4、 z x y z_{xy} zxy=在坐标(x,y)上的灰度级
    5、 S m a x = S x y S_{max}=S_{xy} Smax=Sxy允许的最大尺寸
进程A:
     A 1 = z m e d − z m i n A_{1}=z_{med}-z_{min} A1=zmedzmin
     A 2 = z m e d − z m a x A_{2}=z_{med}-z_{max} A2=zmedzmax
    如果 A 1 > 0 A_{1}>0 A10 A 2 < 0 A_{2}<0 A20,则转到进程B,否则增大窗口尺寸
    如果窗口尺寸≤ S m a x S_{max} Smax,则重复进程A
    否则输出 z m e d z_{med} zmed
进程B:
     B 1 = z x y − z m i n B_{1}=z_{xy}-z_{min} B1=zxyzmin
     B 1 = z x y − z m a x B_{1}=z_{xy}-z_{max} B1=zxyzmax
     B 1 > 0 B_{1}>0 B10 B 2 < 0 B_{2}<0 B20,则输出 z x y z_{xy} zxy
    否则输出 z m e d z_{med} zmed

    算法主要目的:除去“椒盐”噪声(冲激噪声);平滑其它非冲激噪声;减少物体边界细化或粗化等失真。

四、用频率域滤波消除周期噪声

4.1带阻滤波器

    阻止一定频率范围内的信号通过而允许其它频率范围内的信号通过,消除或衰减傅里叶变换原点处的频段。

4.2带通滤波器

    允许一定频率范围内的信 号通过而阻止其它频率范围内的信号通过。
H B P ( u , v ) = 1 − H B R ( u , v ) H_{BP}(u,v)=1-H_{BR}(u,v) HBP(u,v)=1HBR(u,v)
     H B P ( u , v ) H_{BP}(u,v) HBP(u,v)表示带通滤波器, H B R ( u , v ) H_{BR}(u,v) HBR(u,v)表示相应的带阻滤波器。

4.3陷波滤波器

    阻止或通过事先定义的中心频率邻域内的频率。由于傅里叶变换是对称的,陷波滤波器必须以关于原点对称的形式出现。如果陷波滤波器位于原点处,则以它本身形式出现。
传递函数由下式给出:
H N P ( u , v ) = 1 − H N R ( u , v ) H_{NP}(u,v)=1-H_{NR}(u,v) HNP(u,v)=1HNR(u,v)
    式中, H N P ( U , V ) H_{NP}(U,V) HNP(U,V)是陷波滤波器的传递函数,这个陷波滤波器与传递函数为 H N R ( U , V ) H_{NR}(U,V) HNR(U,V)的陷波滤波器相对应。

五、退化函数

  当噪声被处理掉之后,我们将图像复原这一过程近似的看为如下方式:
H s ( u , v ) = G s ( u , v ) F ^ s ( u , v ) H_{s}(u,v) = \frac{G_{s}(u,v)}{\hat F_{s}(u,v)} Hs(u,v)=F^s(u,v)Gs(u,v)

六、维纳滤波

通过尽可能使重建图像和原图像之间的均方根最小来实现图像的复原。均方误差的计算方式如下:
e 2 = E { ( f − f ^ ) 2 } e^2=E\{(f-\hat f)^2 \} e2=E{(ff^)2}
其中, E { ⋅ } E\{\cdot\} E{}是参数的期望值。
因此误差函数的最小值在频率域中为如下表示:
F ^ ( u , v ) = [ H ∗ ( u , v ) ∣ H ( u , v ) ∣ 2 + S η ( u , v ) / S f ( u , v ) ] G ( u , v ) \hat F(u,v)=[\frac{H^*(u,v)}{|H(u,v)|^2+S_\eta(u,v)/S_f(u,v)}]G(u,v) F^(u,v)=[H(u,v)2+Sη(u,v)/Sf(u,v)H(u,v)]G(u,v)
H ∗ ( u , v ) H^*(u,v) H(u,v) H ( u , v ) H(u,v) H(u,v)的复共轭, ∣ H ( u , v ) ∣ 2 = H ∗ ( u , v ) H ( u , v ) |H(u,v)|^2=H^*(u,v)H(u,v) H(u,v)2=H(u,v)H(u,v)
比例式 S η ( u , v ) / S f ( u , v ) S_\eta(u,v)/S_f(u,v) Sη(u,v)/Sf(u,v)被称为信噪功率比。在频率域中用下式来表示:
S N R = ∑ u = 0 M − 1 ∑ v = 0 N − 1 ∣ F ( u , v ) ∣ 2 ∑ u = 0 M − 1 ∑ v = 0 N − 1 ∣ N ( u , v ) ∣ 2 SNR = \frac{\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}|F(u,v)|^2}{\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}|N(u,v)|^2} SNR=u=0M1v=0N1N(u,v)2u=0M1v=0N1F(u,v)2

七、小结

图像复原过程可以分为两步,第一步根据可能存在的噪声类型采用相应的滤波器减弱噪声的影响。第二步,采用与退化函数相对应的复原函数实现图像的复原。

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

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

相关文章

【ABAP】数据类型(四)「类型组TYPE-POOL」

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较…

基于电容电流前馈与电网电压全前馈的三相LCL并网逆变器谐波抑制MATLAB仿真

基于电容电流前馈&#xff0b;电网电压全前馈的三相并网逆变器谐波抑制MATLAB仿真资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87940934模型简介&#xff1a; 测试环境为MATLAB2021b 一共包含两个模型&#xff1a;一个是传统无改进模型&#xff0c;一个…

chatgpt赋能python:Python画运动轨迹:探索世界的足迹

Python画运动轨迹&#xff1a;探索世界的足迹 作为一门快速发展的编程语言&#xff0c;Python在数据分析、机器学习、Web开发等多个领域中发挥着举足轻重的作用。其中&#xff0c;画运动轨迹是Python可视化库中较为常见的应用之一。本文将介绍使用Python画运动轨迹的方法&…

chatgpt赋能python:Python画点函数:如何绘制并掌握基础图形?

Python画点函数&#xff1a;如何绘制并掌握基础图形&#xff1f; Python是一个极为强大的编程语言&#xff0c;它可以用来编写各种应用程序&#xff0c;包括绘图。绘图是Python的重要特性之一&#xff0c;它提供了各种绘图函数&#xff0c;包括画点函数。Python的画点函数是一…

chatgpt赋能python:Python的frozenset:一种不可变的集合类型

Python的frozenset&#xff1a;一种不可变的集合类型 在Python中&#xff0c;集合是一种基本的数据类型。它们是无序的、可变的、且不允许重复的元素。但是&#xff0c;有时候我们需要一个不可变的集合&#xff0c;即一旦创建就不允许进行修改操作的集合。这就是frozenset的作…

【STM32 】芯片命名、内核、产品系列

文章目录 一、半导体公司介绍二、STM32 芯片2.1 芯片命名2.2 Cortex-M内核2.3 STM32 系列 一、半导体公司介绍 STM32是STMicroelectronics&#xff08;意法半导体&#xff09;公司的一系列32位微控制器&#xff0c;基于ARM Cortex-M内核&#xff0c;具有高性能、低功耗、丰富的…

【软件设计师暴击考点】软件工程知识高频考点【二】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;软件…

chatgpt赋能python:Python的Pipe:快速高效的数据传输工具

Python的Pipe&#xff1a;快速高效的数据传输工具 如果你是一名Python工程师&#xff0c;那么你一定会非常了解数据传输的重要性。Python的Pipe就是一种可以让你快速高效地传输数据的工具。在本文中&#xff0c;我们将对Python的Pipe进行详细介绍&#xff0c;探讨它的优点、如…

Linux命令(35)之shutdown

Linux命令之shutdown 1.shutdown介绍 linux命令shutdown主要用来重启、关闭服务器。 2.shutdown用法 shutdown [参数] shutdown常用参数 参数说明-c取消即将执行的关机程序-k 仅仅向每个登录用户发出警告信息&#xff0c;并不真正关机 -h关机(halt)-H关机(halt)-P关机(powe…

chatgpt赋能python:Python中的figsize:使用和优化

Python中的figsize&#xff1a;使用和优化 在数据分析和可视化领域&#xff0c;Python被广泛使用。matplotlib是一个流行的Python可视化库&#xff0c;用于创建各种类型的图形。在matplotlib中&#xff0c;figsize是一个非常有用的参数&#xff0c;可以控制图形的大小。 什么…

3、数据库操作语句:MySql函数

1、数学函数 1&#xff09;单行函数可以嵌套 例如&#xff1a;select truncate(round(123.456,2),0) from dual;//结果&#xff1a;123 2&#xff09;三角函数 举例&#xff1a; ATAN2(M,N)函数返回两个参数的反正切值。 与ATAN(X)函数相比&#xff0c;ATAN2(M,N)需要两个参…

git图形化提交报错“error: cannot spawn C:\Program Files (x86)\Git\bin\ssh.exe: ”

一&#xff0c;问题现象 gitTortoise在push代码到服务器的时候出现如下错误&#xff1a; 报错信息&#xff1a; git.exe push --all --progress "origin" error: cannot spawn C:\Program Files (x86)\Git\bin\ssh.exe: No such file or directory fatal: unable t…

blfs:为lfs虚拟机增加桌面03

编译安装Qt5.15 我比较好奇&#xff0c;当前只安装了twm&#xff08;X.org提供的简单的窗口管理器&#xff09;&#xff0c;这个时候Qt的界面是怎么样的一个呈现。 Qt5.15安装 required和recommanded必装&#xff0c;optional中涉及到runtime的建议安装。其他的看需要再安装。…

彻底解决Springboot中路径参数带 (%2F)的问题

彻底解决Springboot中路径参数带/(%2F)的问题 背景 前两天突然出现了一个线上问题&#xff0c;有同事反应我提供的接口报400的错误。接口路径如下 PATCH /v1/basic/owners/{owner_code}/skus/{sku}&#xff0c;经过排查发现是sku参数中有/因此springboot转义后直接报错了。由…

chatgpt赋能python:Python画的图是放置在什么位置合适?

Python画的图是放置在什么位置合适&#xff1f; Python作为一门流行的编程语言&#xff0c;已经被广泛应用于数据科学和机器学习的领域。在这些领域&#xff0c;数据可视化是一个重要的环节。Python提供了许多强大的可视化工具&#xff0c;可以帮助我们更好地了解和分析数据。…

chatgpt赋能python:Python画图设置背景颜色

Python画图设置背景颜色 在Python中使用Matplotlib和Seaborn等库来生成数据可视化图表非常方便。但是&#xff0c;这些图表默认使用白色背景。有时&#xff0c;我们需要在制作图表时更改背景颜色以匹配我们的主题或品牌标识。本文将介绍如何在Matplotlib和Seaborn中设置不同的…

flutter开发 - 七牛云上传sdk插件qiniu_flutter_sdk使用

flutter七牛云上传sdk插件qiniu_flutter_sdk使用 最近在拆分代码&#xff0c;将上传组件设置成插件&#xff0c;下面记录下实现过程。 一、创建flutter_plugin上传插件 这里Android Studio使用创建plugin 填写一下信息 Project nameProject locationDescriptionProject typ…

chatgpt赋能python:Python画照片上的人——让照片更生动

Python画照片上的人——让照片更生动 随着社交媒体的普及&#xff0c;我们经常会在朋友圈或者Instagram上看到各种美丽的照片&#xff0c;不管是旅游照还是日常生活中的自拍&#xff0c;照片已经成为了人们生活中不可或缺的一部分。 为了让照片更加生动&#xff0c;有时候我们…

chatgpt赋能python:用Python绘制黑色图像的SEO优化

用Python绘制黑色图像的SEO优化 Python是一种功能强大的编程语言&#xff0c;由于其易于学习和使用的特性&#xff0c;已经成为数据科学和机器学习的首选工具。同时&#xff0c;Python还拥有强大的可视化能力&#xff0c;可以帮助数据科学家和机器学习工程师更好地理解和呈现他…

chatgpt赋能python:Python的Popen介绍及使用方法

Python的Popen介绍及使用方法 在Python编程中&#xff0c;我们经常需要执行外部命令并获取结果。而Python中的Popen函数就是一个方便的工具&#xff0c;可以启动另一个进程并与之交互。在本文中&#xff0c;我们将介绍Popen的基础知识以及使用方法。 Popen的基本用法 Popen是…