我有一个向量,其中我添加了高斯白噪声(零均值和标准差为0.001)。更具体地说,我在MATLAB中使用imnoise
函数:
pixel_noisy = imnoise(original_pixel, 'Gaussian', 0, 0.001);
我的问题:有没有办法提取已添加到原始像素的噪声向量?使用imnoise
后,噪声向量已自动添加。虽然如此,是否有可能知道这个噪声向量是什么?
非常感谢任何帮助!
答案 0 :(得分:2)
原始图像和噪声图像之间存在以下关系:
pixel_noisy = original_pixel + noise
因此,可以使用减法计算噪声:
noise = original_pixel - pixel_noisy
<强>验证强>
您可以通过检查噪声是否确实是高斯分布来验证此方法:
n = 100; % size of the image
original_pixel = rand(n, n); % constructs a random image
pixel_noisy = imnoise(original_pixel, 'Gaussian', 0, 0.001); % add noise
noise = pixel_noisy - original_pixel; % calculate the noise
mean = mean2(noise) % check the mean (should be 0)
variance = std2(noise)^2 % check the variance (should be 0.001)
对于较大的n
值,mean
和variance
应该更好地匹配所需的值。