我想使用 Matlab 中的“randg”函数将乘法伽马噪声添加到图像中并去除该噪声。我们必须记住,噪声应该具有均值 1 和级别 4。它应该遵循 Gamma 定律(使用 Gamma 概率分布函数)。添加噪声后的图像变为
f=u*v; 其中 f = 噪声图像,u = 原始图像,v = 噪声图像。
伽马定律为: gv(v)=L^L/(Γ(L)) v^(L-1) exp(-Lv) 1_(v≥0)
其中 L 是噪声水平,v 是噪声。
这是我尝试过的代码:
img = imread('lena.png');
img1 = img./ 255;
imgdob = double(img1);
noisyimg = imgdob + randg(1,size(imgdob)) .* 0.4;
noisyimg(noisyimg< 0) = 0;
noisyimg(noisyimg> 1) = 1;
figure,imshow(img);
figure,imshow(noisyimg);
imwrite(img, 'lenaOriginal.jpg', 'Quality', 100);
imwrite(noisyimg, 'lenaNoisy.jpg', 'Quality', 100);
但我无法得到预期的结果。请给我一个方法。