Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Canny Edge Image - Noise removal

I have a Canny edge detected image of a ball (see link below) which contains a lot of noisy edges. What are the best image processing techniques that I can use to remove these noisy edges without removing the edges belonging to the ball?

Original image

original

Canny edge image

canny

Many thanks everyone in advance for your help and advice, much appreciated!

Ps I am trying to clean up the edge image prior to using the Circle Hough Transform to detect the ball.

like image 365
Adam Avatar asked Aug 12 '13 19:08

Adam


2 Answers

The best option is to filter the image before applying the edge detector. In order to keep the sharp edges you need to use a more sophisticated filter than the Gaussian blur.

Two easy options are the Bilateral filter or the Guided filter. These two filters are very easy to implement and they provide good results in most cases: gaussian noise removal preserving edges. If you need something more powerful, you can try the filter BM3D, which is one of the state-of-the-art filters, and you can find an open source implementation here.

like image 139
gui Avatar answered Sep 27 '22 17:09

gui


The best way to remove those is probably not to have them in the first place if you can. If the lines are noisy artifacts in the image apply a smoothing filter such as a Gaussian to level the image out. -> Gaussian filter info

Removing them once they are there is tricky and would probably involve some higher level shape recognition stuff

like image 36
Samuel Barnett Avatar answered Sep 27 '22 19:09

Samuel Barnett