文档

imnoise

给图像添加噪声

语法

J =非噪声(I,'高斯')
J =非噪声(I,'高斯',m)
J = imnoise(I,'高斯',m, var_高斯)
J = imnoise(I,'localvar',var_local)
J = imnoise(I,'localvar',intensity_map,var_local)
J = imnoise(I,'poisson')
J = imnoise(I,“盐和胡椒”)
J = imnoise(I,'盐和胡椒',d)
J =无噪声(I,'斑点')
J = imnoise(I,'speckle',var_speckle)
gpuarrayJ = imnoise(gpuarrayI,___

描述

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.04。

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

gpuarrayJ= imnoise (gpuarrayI___添加噪音gpuArray强度图像gpuarrayI,在图形处理器上执行该操作。此语法需要并行计算工具箱™。

例子

给图像添加噪声

读取灰度图像并显示它。

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

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

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

在图形处理器上执行图像操作时添加噪声

I = gpuArray(imread)“eight.tif”));J = imnoise(I,“盐和胡椒”, 0.02);图中,imshow(我);图中,imshow (J);

输入参数

全部折叠

灰度图像,指定为数值矩阵。如果有超过两个维度,它被视为一个多维强度图像,而不是一个RGB图像。

请注意

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

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

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

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

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

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

  • 长度相同的数字向量intensity_map

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

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

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

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

在GPU上运行时的灰度图像,指定为gpuArray.有关数组元素的更多信息,请参见

输出参数

全部折叠

噪声图像,作为与输入图像相同数据类型的数字矩阵返回

在GPU上运行时产生噪声的图像gpuArray.有关数组元素的更多信息,请参见J

算法

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

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

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

    • 如果是单精度,用的比例因子是1 e6

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

另请参阅

||

R2006a之前介绍过

这个话题有帮助吗?