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

Answers (1)

See attached demo.

2 Comments

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);

Sign in to comment.

Commented:

on 21 Sep 2021

Community Treasure Hunt

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

Start Hunting!