Matlab之只加盐噪声或只加椒噪声

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37385726/article/details/82711649

目录

一、关于imnoise

二、只加椒噪声

三、只加盐噪声


一、关于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类型
  1. randperm(n,k)返回1:n的一维向量中k个随机不重复数的随机permutation(排列)
  2. 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);

猜你喜欢

转载自blog.csdn.net/qq_37385726/article/details/82711649
今日推荐