Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Time complexity of Canny edge detector

I am currently writing a research paper about a new steganography algorithm. I have used canny edge detector at some point in my algorithm. In the paper I need to write the time complexity of the novel approach, which in turns depends on the time complexity of canny edge detector.

Problem is that nowhere on the web I could find any reference about the time complexity of canny. I've even read the original canny paper. I am unable to deduce it properly and need some help here.

like image 768
Mangat Rai Modi Avatar asked Jul 03 '13 21:07

Mangat Rai Modi


People also ask

Which algorithm is best for edge detection?

Canny Operator; Canny edge detection algorithm (Canny, 1986) known as optimal edge detection algorithm and the most commonly used edge detection algorithm in practice.

Which is better Canny and Sobel?

Sobel edge detection method cannot produce smooth and thin edge compared to canny method. But same like other method, Sobel and Canny methods also very sensitive to the noise pixels. Sometime all the noisy image can not be filtered perfectly. Unremoved noisy pixels will effect the result of edge detection.

Why is Canny edge better than Sobel?

The Sobel edge detector and Prewitt edge detector are able to detect edges but the edges detected are very less as compare to Canny edge detector. After all these results and comparative images, it is found that the performance of Canny edge detector is better than Sobel and Prewitt edge detector.

What are the 3 basic objective of Canny edge detection?

Find the intensity gradients of the image. Apply non-maximum suppression to get rid of spurious response to edge detection. Apply double threshold to determine potential edges.


1 Answers

Canny edge detection consists of

  1. A convolution of the image with a blur kernel,
  2. Four convolutions of the image with edge detector kernels,
  3. Computation of the gradient direction,
  4. Non-maximum suppression, and
  5. Thresholding with hysteresis,

Steps (1), (2), (3), and (4) are all implemented in terms of convolutions of the image with kernels of a fixed size. Using the FFT, it's possible to implement convolutions in time O(n log n), where n is the number of elements. If the image has dimensions m × n, the time complexity will be O(mn log mn) for these steps.

The final step works by postprocessing the image to remove all the high and low values, then dropping all other pixels that aren't near other pixels. This can be done in time O(mn).

Therefore, the overall time complexity is O(mn log mn).

Hope this helps!

like image 150
templatetypedef Avatar answered Sep 22 '22 16:09

templatetypedef