Failed to add uniform noise to the image
1 次查看(过去 30 天)
显示 更早的评论
Hi Everyone, I am trying to add uniform noise using the following syntax,
image = ones([512,512])*128;
A = .1;
B = .2;
matrix_uniform = A + (B-A)*rand(size(image));
noisy_image = imnoise(uint8(image),'localvar',matrix_uniform);
K = wiener2(noisy_image,[5 5]);
figure, subplot(1,3,1),imshow(noisy_image), subplot(1,3,2), imshow(K),
subplot(1,3,1), imhist(noisy_image)
But I am unable to get uniform shape in the histogram. Can anyone tell me what wrong I am doing?
0 个评论
采纳的回答
Iman Ansari
2013-5-14
Hi. You don't need imnoise:
round(128+0.2)=128
with 0.1 and 0.2 like you didn't add any noise. Uniform noise with zero mean:
image = ones([512,512])*128;
A = -30;
B = 30;
matrix_uniform = A + (B-A)*rand(size(image));
noisy_image = image + matrix_uniform;
figure,
subplot(1,2,1)
imshow(noisy_image./255),
subplot(1,2,2)
imhist(uint8(noisy_image))
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Histograms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!