Failed to add uniform noise to the image

조회 수: 3 (최근 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 CenterFile Exchange에서 Histograms에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by