版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37385726/article/details/82711649
目录
一、关于imnoise
MATLAB内置函数imnoise中有属性'salt & pepper',添加的是椒盐噪声。
注意'salt & pepper'中间的空格不能少,不然会报错。
二、只加椒噪声
我们无法通过内置的imnoise函数得到只加椒噪声的图像,我们需要手动给图片加椒噪声。
代码如下:
% Pepper Noise
pepper_ind = randperm(uint16(numel(tif)),uint8(0.1*numel(tif)));
tif_pepper = tif1; % tif1为uint8类型
tif_pepper(pepper_ind) = 0;
tif_pepper = im2double(tif_pepper); %将得到的椒图像转化为double类型
- randperm(n,k)返回1:n的一维向量中k个随机不重复数的随机permutation(排列)
- numel的返回值是double的,要将其转成int类型,为了防止溢出,我们选择uint16
三、只加盐噪声
类似于只加椒噪声,也不能通过imnoise得到,也需要手动去加,只不过区别在于盐噪声我们设置的值是255而已
代码如下:
% Salt Noise
salt_ind = randperm(uint16(numel(tif)),uint8(0.1*numel(tif)));
tif_salt = tif1;
tif_salt(salt_ind) = 255;
tif_salt = im2double(tif_salt);