我想在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);
但我无法得到预期的结果。请建议我一个方法。