主要内容

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 = I+n*I,在那里n均值为0,方差为0.05的均匀分布随机噪声。

J= imnoise (“斑点”,var_speckle将乘性噪声与方差相加var_speckle

例子

全部折叠

读取灰度图像并显示它。

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

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

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

J = imnoise(I,“盐和胡椒”, 0.02);imshow (J)

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

输入参数

全部折叠

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

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

请注意

对于泊松噪声,imnoise不支持数据类型的图万博1manbetx像int16

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

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

高斯噪声的方差,用数值标量表示。

高斯噪声的局部方差,指定为下列之一:

映射到高斯噪声方差的强度值,指定为数值向量。这些值被归一化到范围[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,则直接使用输入的像素值,无需缩放。例如,如果a中的一个像素uint8输入的值为10,则对应的输出像素将由均值为10的泊松分布生成。

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

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

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

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

扩展功能

版本历史

R2006a之前介绍

全部展开

另请参阅

|