Failed to add uniform noise to the image

2 ビュー (過去 30 日間)
Sajid Khan
Sajid Khan 2013 年 5 月 14 日
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?

採用された回答

Iman Ansari
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 件)

カテゴリ

Help Center および File ExchangeHistograms についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by