python中的skimage图像处理模块

2022-09-04 21:57:44 浏览数 (2)

1.给图像加入噪声

代码语言:javascript复制
skimage.util.random_noise(image, mode=‘gaussian’, seed=None, clip=True, **kwargs)

该函数可以方便的为图像添加各种类型的噪声如高斯白噪声、椒盐噪声等。 参数介绍 image为输入图像数据,类型应为ndarray,输入后将转换为浮点数。 mode选择添加噪声的类别。字符串str类型。应为以下几种之一:

  • ‘gaussian’高斯加性噪声。
  • ‘localvar’ 高斯加性噪声,每点具有特定的局部方差。
  • ‘poisson’ 泊松分布的噪声。
  • ‘salt’ 盐噪声,随机用1替换像素。属于高灰度噪声。
  • ‘pepper’ 胡椒噪声,随机用0或-1替换像素,属于低灰度噪声。
  • ‘s&p’ 椒盐噪声,两种噪声同时出现,呈现出黑白杂点。
  • ‘speckle’ 使用out = image n *图像的乘法噪声,其中n是具有指定均值和方差的均匀噪声。

seed 类型为int。

  • 将在生成噪声之前设置随机种子,以进行有效的伪随机比较。

clip类型为bool。

  • 若为True(default)则在加入‘speckle’, ‘poisson’, 或 ‘gaussian’这三种噪声后进行剪切以保证图像数据点都在[0,1]或[-1.1]之间。若为False,则数据可能超出这个范围。

mean: float 随机分布的均值,用于’gaussian’和‘speckle’。 默认为0。 var: float 随机分布的方差,(标准差^2)用于’gaussian’和‘speckle’。 默认为0.01。 local_vars:ndarray 图像每个像素点处的局部方差,正浮点数矩阵,和图像同型,用于‘localvar’. amount:float 椒盐噪声像素点替换的比例,在[0,1]之间。用于‘salt’, ‘pepper’,和 ‘salt & pepper’. 默认 : 0.05 salt_vs_pepper : float 盐噪声和胡椒噪声的比例,在[0,1]之间。数字越大代表用1替换越多(more salt). 默认 : 0.5 输出 out : ndarray 输出为浮点图像数据,在[0,1]或[-1,1]之间。Skimage读取图像后格式为(height, width, channel)。注意RGB图像数据若为浮点数则范围为[0,1],若为整型则范围为[0,255]。

2.亮度调整

gamma调整

原理:I=Ig

对原图像的像素,进行幂运算,得到新的像素值。公式中的g就是gamma值。

如果gamma>1, 新图像比原图像暗

如果gamma<1,新图像比原图像亮

函数格式为:skimage.exposure.adjust_gamma(image, gamma=1)

gamma参数默认为1,原像不发生变化 。

0 人点赞