How to Detect edges in very high res pictures?

10 views (last 30 days)
Hi. Is there a good Canny Edge Detector for high resolution pictures that are showing urban areas and more specificaly building facades? I have tried several filters before using the canny detector embedded on matlab and the result is really bad(in fact worse than not using a filter at all). I have also tried several improved implementations that I found on file exchange and github but none of them works properly in the initial High Res image.
The only solution I have found so far that gets me the best results is:
  1. First downsizing the images from 6016x4016 to 1/5 --> 602x402 pixels.
  2. Then applying an improved version of canny edge detection I found on github (https://github.com/gnandita/Implementation-of-Improved-Canny-Edge-Detection-Algorithm/blob/master/ImprovedCanny.m)
Do you know a good alternative step by step? What preprocessing approach should I do before using the canny edge detection?
Thank you in advance

Answers (1)

Constantino Carlos Reyes-Aldasoro
The essence of Canny is that it has an in-built filter, you should not use filters before Canny, only control the standard deviation parameter. Try changing the third parameter
Output = edge(Input,'canny', [ ], s.d.);
iterate over s.d. = [1 2 3 4 5 6 ... ] and that may give you the results that you are expecting.

Community Treasure Hunt

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

Start Hunting!