主要内容

imnoise

给图像添加噪声

描述

J= imnoise (“高斯”)在灰度图像中加入方差为0.01的零均值高斯白噪声

J= imnoise (“高斯”,高斯白噪声加均值方差为0.01。

J= imnoise (“高斯”,var_gauss高斯白噪声加均值和方差var_gauss

J= imnoise (“localvar”,var_local加入零均值,高斯白噪声的局部方差var_local

J= imnoise (“localvar”,intensity_mapvar_local加入零均值高斯白噪声。噪声的局部方差,var_local,是图像强度值的函数.图像强度值到噪声方差的映射由矢量指定intensity_map

J= imnoise (“泊松”)产生泊松噪声,而不是在数据中添加人工噪声。看到算法为更多的信息。

J= imnoise (,盐和胡椒粉)添加盐和胡椒噪声,默认噪声密度0.05。这将影响大约5%的像素。

例子

J= imnoise (,盐和胡椒,d加上盐和胡椒的噪音,哪里d为噪声密度。这影响到大约d *元素个数(我)像素。

J= imnoise (“斑点”)使用这个方程添加乘法噪声J =我+ n *,在那里n为均匀分布的随机噪声,均值为0,方差为0.05。

J= imnoise (“斑点”,var_speckle添加带有方差的乘性噪声var_speckle

例子

全部折叠

读取灰度图像并显示它。

我= imread (“eight.tif”);imshow(我)

图中包含一个坐标轴。轴包含一个image类型的对象。

添加盐和胡椒的噪声,噪声密度为0.02。显示结果。

J = imnoise(我的盐和胡椒, 0.02);imshow (J)

图中包含一个坐标轴。轴包含一个image类型的对象。

输入参数

全部折叠

灰度图像,指定为数字矩阵。如果具有二维以上的图像,则图像被视为多维灰度图像而不是RGB图像。

imnoise期望数据类型的像素值在[0,1]范围内。你可以使用重新调节函数将像素值调整到预期范围。如果您的图像是类型如果值超出范围[0,1],则imnoise剪辑输入像素值范围为[0,1],然后添加噪声。

请注意

对于泊松噪声,图像的数据类型int16是不允许的。

数据类型:||int16|uint8|uint16

高斯噪声的平均值,指定为数值标量。

高斯噪声的方差,指定为数值标量。

高斯噪声的局部方差,指定为:

  • 与…大小相同的数字矩阵

  • 长度相同的数字向量intensity_map

映射到高斯噪声方差的强度值,指定为数值向量。这些值被归一化到范围[0,1]。

你可以画出噪声方差之间的函数关系var_local和图像强度使用命令情节(intensity_map var_local)

盐和胡椒噪声的噪声密度,指定为数字标量。噪声近似地应用于d *元素个数(我)像素。

乘性噪声的方差,指定为数值标量。

输出参数

全部折叠

噪声图像,作为与输入图像相同数据类型的数字矩阵返回.用于数据类型的图像,imnoise函数在添加杂色后将像素值剪辑到范围[0,1]。

算法

  • 的均值和方差参数“高斯”“localvar”,“斑点”噪声类型总是指定为类的图像在[0,1]范围内。如果输入图像是一个不同的类,则imnoise函数将图像转换为,根据指定的类型和参数添加噪声,剪辑像素值到范围[0,1],然后将噪声图像转换回与输入的类。

  • 泊松分布取决于输入图像的数据类型

    • 如果,则输入像素值被解释为按比例放大的泊松分布的平均值1 e12汽油.例如,如果一个输入像素具有该值5.5 e-12,则由均值为5.5的泊松分布生成相应的输出像素,再按比例缩小1 e12汽油

    • 如果单精度,使用的比例系数是多少1 e6

    • 如果uint8uint16,然后直接使用输入像素值,无需缩放。例如,如果uint8输入值为10,则输出像素由均值为10的泊松分布生成。

  • 添加的盐和胡椒噪声与密度d一个图像,imnoise首先从开放区间(0,1)上的标准均匀分布中给每个像素分配一个随机概率值。

    • 对于概率值范围为(0,d/2),像素值设置为0.被设置为的像素数0大约是d *元素个数(I) / 2

    • 对于概率值在范围内的像素[d/ 2,d)时,像素值设置为图像数据类型的最大值。设置为最大值的像素数近似d *元素个数(I) / 2

    • 对于概率值在范围内的像素[d, 1),像素值不变。

扩展功能

另请参阅

|

之前介绍过的R2006a