Remove noise from the image

I have a image of a coin I wanted to make a circular mask to remove noise [Attached mat]
I tried using imfindcircle but it is not working properly

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 23 May 2022
First start by trying standard filtering-methods. Compare what you get with 2-D median-filter (medfilt2), and Lee's sigma-filter (wiener2) and see how they perform. After doing that you can check different more advanced image-filters on the file-exchange, for example: bilateral filters, Nonlinear Diffusion filters, total variation filtering and on and on. But first use the basic tools then understand their use and the noise-characteristics in your image. Check the help and documentation to medfilt2 and wiener2.
HTH

3 Comments

tried wiener2 and medianfilt2 they are not working
Yes they do, you might have to take further steps after that. Clearly your image have very peculiar non-uniform illumination that you'll also have to correct for.
Its a tilted coin of 180 radius centers not properly known
I tried this first
r=180x_c=180+17;y_c=180+5;
%generate a coordinate grid
[y,x]=ndgrid(0:401,0:401);
%perform calculation
paper= (x-x_c).^2+(y-y_c).^2 <= r^2;
%show result
figure,imshow(paper); %show masked image
for i=1:401
for j=1:401
if paper(i,j)<1
d(i,j)=paper(i,j)*d(i,j);
end
end
end
figure,mesh(d)
rest i'm trying to remove

Sign in to comment.

Products

Release

R2022a

Asked:

on 23 May 2022

Edited:

on 23 May 2022

Community Treasure Hunt

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

Start Hunting!