This repository contains an implementation of basic image processing operations that are widely used in data intensive video classification and video analytics applications. The code is written in C language and implemented on Xilinx Zynq 7000 SoC. This SoC consists of dual Arm Cortex-A9 CPUs tightly coupled with the Xilinx FPGA programmable logic.
The following is a list of point and area image processing operations considered in this work and benchmarked on Avnet Zedboard Development Kit (Xilinx Zynq 7000 SoC).
- Contrast
- Threshold
- Gradient
- Gaussian Filter
- Sobel Filters
- Morphology Filters (Erosion, Dilation)
Run the ../Benchmarks/TimeMeasurement.c
[1] F. Siddiqui, S. Amiri, U. Minhas, "FPGA-Based Processor Acceleration for Image Processing Applications" in Journal of Imaging 2019, 5, 16.
[2] F. Siddiqui, M. Russell, B. Bardak, R. Woods and K. Rafferty, "IPPro: FPGA based image processing processor" in IEEE Workshop on Signal Processing Systems (SiPS), Belfast, UK, 2014, pp. 1-6.
[3] M. Amiri, F. Siddiqui, C. Kelly, et al. "FPGA-Based Soft-Core Processors for Image Processing Applications" in Journal of Signal Processing Systems, 87, 139–156 (2017).
[4] C. Kelly, F. M. Siddiqui, B. Bardak and R. Woods, "Histogram of oriented gradients front end processing: An FPGA based processor approach" in IEEE Workshop on Signal Processing Systems (SiPS), Belfast, UK, 2014, pp. 1-6.
[5] F. Siddiqui, "FPGA-based Programmable Embedded Platform for Image Processing Applications", 11 Sep 2018. (PhD Thesis)