image processing sinusoidal periodic noise

how i add a sinusoidal periodic noise to image with a radius 50% from its maximum spectrum frequency (not located on the u nor v axes).and Show the original and resulting images and how to estimate the noise type (assume you do not know the noise and you do not have the original clean image) and how i can remove the added noise with filter

回答(1 个)

See attached demo.

2 个评论

Hi. How do I create periodic noise in the vertical direction?
I can see other people used below equation to simulate horizontal noise.
cosVector = amplitude * (1 + cos(2 * pi * rowVector / period))/2 + offset
Try this:
rows = 1080;
columns = 1920;
amplitude = 150; % Brightness difference from peak to valley.
offset = 50; % Darkest it will be.
period = 500;
% Create column vector.
y = (1 : rows)';
cosVector = uint8(amplitude * (1 + cos(2 * pi * y / period)) / 2 + offset);
% Replicate it to turn it into a 2-D image.
horizontalBandsImage = repmat(cosVector, [1, columns]);
subplot(2, 2, 1);
imshow(horizontalBandsImage);
axis('on', 'image');
impixelinfo;
% Create column vector.
x = 1 : columns;
cosVector = uint8(amplitude * (1 + cos(2 * pi * x / period)) / 2 + offset);
% Replicate it to turn it into a 2-D image.
verticalBandsImage = repmat(cosVector, [rows, 1]);
subplot(2, 2, 2);
imshow(verticalBandsImage);
axis('on', 'image');
impixelinfo;
subplot(2, 2, 3:4);
histogram(verticalBandsImage, 0:255);
grid on;
title('Histogram', 'FontSize', 15);

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by