Vision Processing with the Canny Edge Detection Reference Design
ID
683433
Date
2/14/2015
Public
1.1. About Canny Edge Detection
1.2. About the Canny Edge Detection Reference Design
1.3. Getting Started with the Canny Edge Reference Design
1.4. Canny Edge Detection Reference Design Block Description
1.5. Stream-to-Memory Conversion
1.6. Latency and Throughput
1.7. Canny Edge Reference Design Resource Usage
1.3.1. Hardware and Software Requirements
1.3.2. Connecting the Hardware to Use the Canny Edge Reference Design
1.3.3. Loading the Canny Edge Reference Design FPGA Image with the SD Card Image
1.3.4. Canny Edge Reference Design Initial Startup Problems
1.3.5. Controlling the FPGA Flow of the Canny Edge Reference Design
1.3.6. Capturing the Pixel Stream
1.3.7. Programming the FPGA with the Canny Edge Reference Design
1.3.8. Initializing the ARM Processor
1.4. Canny Edge Detection Reference Design Block Description
Figure 1. Block Diagram
The design matches the output pixel rate to the input pixel rate, easily achieving real time requirements of 60 fps. However, the maximum frequency (fMAX) of the individual blocks limits the maximum video input resolution. Implementing most of the Canny algorithm on the FPGA offloads the ARM processor from repetitive and time consuming mathematical operations. Thus, the ARM processor engages in more complicated, upstream, higher value image processing algorithms. For example, the design implements the last Canny edge linking block in the ARM processor because it is a recursive variable depth algorithm that cannot be unrolled.