主要内容

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(我)

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

在图像中添加椒盐噪声,噪声密度为0.02。显示结果。

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

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

输入参数

全部折叠

灰度图像,指定为任意维度的数值数组。

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

请注意

泊松噪声,imnoise不支持数据类型的图像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

全部展开

另请参阅

|

Baidu
map