图像中的噪点:数字图像容易出现各种类型的噪点,从而使图像质量变差。图像噪声是捕获图像中亮度或颜色信息的随机变化。噪声基本上是由外部源(如相机)引起的图像信号降级。包含乘法噪声的图像具有以下特征:噪点越亮。但大多数情况下是加性的。根据创建图像的方式,有几种将噪声引入图像的方法。例如:
- 如果从胶片上拍摄的照片扫描图像,则胶片颗粒可能是噪音源。噪声也可能是胶片损坏的结果,或者是由扫描仪的波动本身引起的。
- 如果直接以数字格式获取图像,则用于收集数据的机制(例如CCD检测器)会引入噪声。
- 数字图像数据的电子传输也会引入噪声。
为了模拟上面列出的某些问题的影响,工具箱在MATLAB中提供了内置的杂音功能,您可以使用该函数为图像添加各种类型的噪点。
MATLAB内置函数可以引入的各种噪声是:
- 椒盐噪声:椒盐噪声是指导致图像质量下降的各种过程。在“盐和胡椒”噪声中,只有几个像素有噪点,但它们却非常嘈杂。效果类似于在图像上撒上白色和黑色的点。
X = imnoise(Image, 'salt & pepper', percentage_distortion)
上面的内置函数将“盐和胡椒”噪声添加到名为Image的图像中,其中percent_distortion是噪声密度。 percent_distortion的默认值为0.05。
- 高斯噪声:高斯噪声是一种统计噪声,其概率密度函数等于正态分布,也称为高斯分布。它也被称为电子噪声,因为它会在放大器或检测器中产生。
X = imnoise(Image, 'gaussian', percentage_distortion)
- 斑点噪声:斑点是图像中固有存在的一种噪声,会降低其质量。可以通过将随机像素值与图像的不同像素相乘来生成斑点噪声。
X = imnoise(Image, 'speckle', percentage_distortion)
以下是用于在图像中添加噪点的Matlab代码:
% For adding various kind of noise
clear;
I = rgb2gray(imread("flowers.jpg"));
subplot(2, 2, 1),
imshow(I);
title("Original image");
% adding salt and pepper noise
s = imnoise(I, "salt & pepper", 0.20);
subplot(2, 2, 2),
imshow(s);
title("Salt and Pepper noise");
% adding Gaussian noise
g = imnoise(I, "gaussian", 0.20);
subplot(2, 2, 3),
imshow(g);
title("Gaussian noise");
% adding Speckle noise
sp = imnoise(I, "speckle", 0.20);
subplot(2, 2, 4),
imshow(sp);
title("Speckle noise");
输出 :