image processing sinusoidal periodic noise

46 views (last 30 days)
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)

Image Analyst
Image Analyst on 1 Jun 2020
See attached demo.
  2 Comments
Shahrizan Jamaludin
Shahrizan Jamaludin on 21 Sep 2021
Edited: Image Analyst on 21 Sep 2021
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
Image Analyst
Image Analyst on 21 Sep 2021
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.

Community Treasure Hunt

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

Start Hunting!