Skip to Main Content
In this work, a high performance hardware coprocessor for CNNs and its interaction with the OpenCV library is reported. Edge detection algorithms reduce the amount of image data to be processed, because only essential information is preserved. There are several approaches for edge detection, one of them is based on Cellular Neural Networks (CNNs). The parallel nature of CNNs makes them suitable to be implemented on a reconfigurable device, such as Field Programmable Gate Arrays (FPGAs). An FPGA implementation of CNNs achieves high performance and flexibility due to fine-grain parallelism of the FPGA-based implementations. CNNs can perform both linear and nonlinear image processing tasks, such as filtering, threshold, various mathematical morphology operations, edge detection, corner detection, etc., but in this paper only the edge detection problem is addressed. Hardware resources and performance comparison are reported.