使用localvar为图像添加噪声

时间:2014-09-08 13:41:58

标签: image matlab noise

我无法使用' localvar'找到matlab的imnoise函数的示例代码。任何地方。任何人都可以帮助我,因为我真的很难找到它? 根据matlab文档, J = imnoise(我,' localvar',V) 将局部方差V的零均值高斯白噪声加到图像I.V是与I大小相同的数组。

1 个答案:

答案 0 :(得分:2)

你的意思是这样的:

clc;
close all; clear all;


A = imread('peppers.png');

B = imnoise(A,'localvar',0.05*rand(size(A)));

imshow(B)

给出了这个:

enter image description here

编辑:使用其他输入参数image_intensityvar,您可以获得以下内容:

C = imnoise(A,'localvar',rand(1,100),rand(1,100));

结果如下:

enter image description here

此外,您可以指定方差和图像强度之间的线性关系,例如,通过定义变量,如下所示:

image_intensity = rand(1,100);
var = ones(1,100); % variance is linearly proportional to image intensity.

输出:

enter image description here

当然,您可以使用参数尽可能多地玩游戏;在定义向量image_intensityvar时要小心,因为它们的长度必须匹配。