数字图像处理(实践篇)十三 数据增强之给图像添加噪声!

目录

[一 涉及的函数](#一 涉及的函数)

[二 实践](#二 实践)


一 涉及的函数

  • skimage.util.random_noise( )
python 复制代码
skimage.util.random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs)

****函数的功能:****为浮点型图片添加各种随机噪声。

输入:

①image:输入图像,将会被转换成浮点型。

②mode: 可选,为要加的噪声类型。主要有 gaussian :高斯噪声。localvar :高斯分布的加性噪声,在"图像"的每个点处具有指定的局部方差。poisson :泊松噪声。salt :盐噪声,随机将像素值变成1。pepper :椒噪声,随机将像素值变成0或-1,取决于矩阵的值是否带符号。s&p :椒盐噪声。speckle :乘噪声使用out = image + n*image,其中N是具有指定均值和方差的均匀噪声。

③seed: 可选,int型。如果选择的话,在生成噪声前会先设置随机种子以避免伪随机。

④clip: 可选,bool型。如果是True,在添加均值,泊松以及高斯噪声后,会将图片的数据裁剪到合适范围内。如果值为False,则输出矩阵的值可能会超出[-1,1]。

...

返回值:

ndarry型,且值在[0,1]或者[-1,1]之间,取决于是否有符号数。

  • skimage.util.montage( )
python 复制代码
skimage.util.montage(arr_in, fill='mean', rescale_intensity=False, grid_shape=None, padding_width=0, multichannel=False, *, channel_axis=None)

函数功能:创建多个单通道或多通道图像的蒙太奇。

输入:

****arr_in:****一个数组,表示 K 个形状相同的图像的集合。

****fill:****可选。

****rescale_intensity:****布尔型,可选。是否将每张图像的强度重新缩放为 [0, 1]。

****grid_shape:****元组,可选。

****padding_width:****int, 可选。

multichannel: 布尔值,可选。此参数已弃用 改为指定 channel_axis

****channel_axis:****int,可选。

返回:

输入图像粘合在一起的输出数组(包括填充p)。

二 实践

1 实践①

  • 代码
python 复制代码
from skimage.io import imread
from skimage.util import random_noise
import matplotlib.pyplot as plt
def dealImageResult(img_path):
    im = imread(img_path)
    gaussian_noisy_img = random_noise(im, mode='gaussian', var=0.5**2)
    poisson_noisy_img = random_noise(im, mode='poisson')
    pepper_noisy_img = random_noise(im, mode='pepper')
    salt_noisy_img = random_noise(im, mode='salt')
    sp_noisy_img = random_noise(im, mode='s&p')
    fig = plt.figure(figsize=(10, 10))
    titles = ["img", " gaussian", "poisson", "pepper", "salt", "s&p"]
    images = [im, gaussian_noisy_img, poisson_noisy_img, pepper_noisy_img, salt_noisy_img, sp_noisy_img]
    for i in range(6):
        plt.subplot(2, 3, i + 1), plt.imshow(images[i], 'gray')
        plt.title(titles[i])
        plt.xticks([]), plt.yticks([])
    plt.show()
    fig.savefig('test_results.jpg', bbox_inches='tight')
if __name__ == '__main__':
    dealImageResult("3.jpg")
    pass
  • 结果图

2 实践②

  • 代码
python 复制代码
import numpy as np
from skimage.io import imread
from skimage.util import random_noise, montage
import matplotlib.pyplot as plt
def dealImageResult(img_path):
    im = imread(img_path)
    sigmas = np.linspace(0, 1, 9)
    noisy_images = np.zeros((9, im.shape[0], im.shape[1], im.shape[2]))
    for i in range(len(sigmas)):
        noisy_images[i, :, :, :] = random_noise(im, var=sigmas[i]**2)
    noisy_montage = montage(noisy_images, rescale_intensity=True, channel_axis=-1)
    fig = plt.figure(figsize=(10, 10))
    plt.imshow(noisy_montage)
    plt.title('Noisy montage', size=10)
    plt.axis('off')
    plt.show()
    fig.savefig('test_results.jpg', bbox_inches='tight')
if __name__ == '__main__':
    dealImageResult("5.jpg")
    pass
  • 结果图

前文回顾

入门篇目录

数字图像处理(入门篇)一 图像的数字化与表示

数字图像处理(入门篇)二 颜色空间

数字图像处理(入门篇)三 灰度化

数字图像处理(入门篇)四 像素关系

数字图像处理(入门篇)五 图像数据预处理之颜色空间转换

数字图像处理(入门篇)六 图像数据预处理之坐标变化

数字图像处理(入门篇)七 图像数据预处理之灰度变化

数字图像处理(入门篇)八 图像数据预处理之直方图

数字图像处理(入门篇)九 图像数据预处理之滤波

数字图像处理(入门篇)十 边缘检测

数字图像处理(入门篇)十一 形态学处理

数字图像处理(入门篇)十二 自适应阈值分割

数字图像处理(入门篇)十三 仿射变换

数字图像处理(入门篇)十四 透视变换

实践篇目录

数字图像处理(实践篇)一 将图像中的指定目标用bBox框起来吧!

数字图像处理(实践篇)二 画出图像中目标的轮廓

数字图像处理(实践篇)三 将两张图像按照指定比例融合

数字图像处理(实践篇)四 图像拼接-基于SIFT特征点和RANSAC方法

数字图像处理(实践篇)五 使用Grabcut算法进行物体分割

数字图像处理(实践篇)六 利用hough变换进行直线检测

数字图像处理(实践篇)七 利用霍夫变换进行圆环检测

数字图像处理(实践篇)八 Harris角点检测

数字图像处理(实践篇)九 基于边缘的模板匹配

数字图像处理(实践篇)十 图像质量检测

数字图像处理(实践篇)十一 图像中的条形码解析

数字图像处理(实践篇)十二 基于小波变换的图像降噪

相关推荐
Elaine3362 天前
【验证码识别算法性能对比实验系统——KNN、SVM、CNN 与多模态大模型的性能博弈与机理分析】
python·opencv·支持向量机·cnn·多模态·数字图像处理
啊阿狸不会拉杆16 天前
《数字图像处理》实验2-空间域灰度变换与滤波处理
图像处理·人工智能·机器学习·计算机视觉·数字图像处理
啊阿狸不会拉杆17 天前
《数字图像处理》实验6-图像分割方法
图像处理·人工智能·算法·计算机视觉·数字图像处理
啊阿狸不会拉杆17 天前
《数字图像处理》-实验1
图像处理·人工智能·算法·计算机视觉·数字图像处理
啊阿狸不会拉杆17 天前
《数字图像处理》实验3-频率域处理方法
图像处理·人工智能·算法·计算机视觉·数字图像处理
啊阿狸不会拉杆17 天前
《数字图像处理》实验8-图像识别与分类
图像处理·人工智能·算法·分类·数据挖掘·数字图像处理
啊阿狸不会拉杆17 天前
《数字图像处理》实验7-图像特征提取
图像处理·人工智能·机器学习·计算机视觉·数字图像处理
啊阿狸不会拉杆17 天前
《数字图像处理》实验4-图像复原
图像处理·人工智能·机器学习·计算机视觉·数字图像处理
啊阿狸不会拉杆19 天前
《数字图像处理》第 11 章 - 特征提取
图像处理·人工智能·算法·计算机视觉·数字图像处理
啊阿狸不会拉杆24 天前
《数字图像处理》第 5 章-图像复原与重建
图像处理·人工智能·算法·matlab·数字图像处理