Vision Processing with the Canny Edge Detection Reference Design

ID 683433
Date 2/14/2015
Document Table of Contents

1.1. About Canny Edge Detection

Canny edge detection is a multistage, vision processing algorithm producing a binary output image (edge or no edge for complex vision algorithms such as number plate identification). Canny edge detection can remove irrelevant image information and has a simple binary output for each pixel. Traditionally, Canny edge detection is implemented on high-performance computing. However, you can now implement vision algorithms on embedded platforms for mobile low-power applications.

Vision algorithms such as Canny contain multiple processing stages. Typically processors have to fetch the input image frame from external memory, process it, and write it back to external memory. The processor repeats this process for the next processing block. This traditional memory shuffling between blocks is inefficient:

  • Repeated slow external memory access causes speed bottlenecks. The data has to propagate through the processor caches, further slowing down external memory access due to cache overheads.
  • Repeatedly engergizing the external memory chip I/O pins costs dynamic power.