Implementation of Edge Detection Algorithm using FPGA Reconfigurable Hardware

Keywords: Convolution, Sobel filter, edge detection operator, FPGA, Gaussian filter, Mitrion–C, speed


Digital image processing is known as computer manipulation of image, which includes algorithms like image enhancement and target reorganization. Some of these algorithms involve operations like convolution and edge detection, which requires high computation. Generally, the software running on processor performs these manipulations. To achieve higher computation performance in terms of execution time, these algorithms are implemented on reconfigurable hardware like FPGA. One can implement parallel architecture and pipelined architecture on FPGA to gain speed up.  In this work, we provide a detailed description of implementing edge detection algorithm on SGI–RC100 platform. The algorithm is implemented using ANSI-C to manipulate the host program and Mitrion–C language. Mitrion–C offers efficient way to write code for parallel and pipelined architecture to preform edge detection. Then, the algorithm is tested on Intel Intanium 2 based architecture and compared its execution time with RC 100 platform based algorithm to check the speed up gain by FPGA based algorithm. The experimental results showed that the speed of the reconfigurable hardware FPGA based algorithm outperformed the software-based approach by more than 50 times.

Author Biography

Sa'ed Abed, Kuwait University

Computer Engineering Department,

College of Engineering and Petroleum,

Associate Professor


Abed, S., Ali, M. H. and Al-Shayeji, M. 2017. An adaptive edge detection operator for noisy images based on a total variation approach restoration, International Journal of Computer Systems Science & Engineering, 32(1): 21–33.

Acharjya, P. P., Das, R. and Ghoshal, D. 2012. A study on image detection using the gradients. International Journal of Scientific and Research Publications, 2(12): 1-5.

Asghari, M. H. and Jalali, B. 2015. Edge detection in digital images using dispersive phase stretch transform. International Journal of Biomedical Imaging, 2015(6): 1-6, Article ID 687819.

Basu, M. 2002. Gaussian-based edge-detection methods-A survey. IEEE Transactions on Systems, Man, and Cybernetics 32(3): 252-260.

Canny, J. F. 1986. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 8(6):769–798.

Daugman J. G. 1985. Uncertainty relation for resolution in space, spatial frequency, and orientation optimized by two-dimensional visual cortical filters. J.Opt. Soc. Am.A, 2(7): 1160-1169.

Dollar, P. and Zitnick, C. 2014. Fast edge detection using structured forests. IEEE Transactions on Pattern Analysis and Machine Intelligence, 37(8): 1558-1570, doi: 10.1109/TPAMI.2014.2377715.

Elaraby, A. E., El-Owny, H. B., Hassaballah, M., AbdelRardy, A.S., and Heshmat, M. 2013. A novel algorithm for edge detection of noisy medical images. International Journal of Signal Processing, Image Processing and Pattern Recognition, 6(6): 365-374.

El-Sayed, M. A. 2011. A new algorithm based entropic threshold for edge detection in images. International Journal of Computer Science Issues, Issue 5, 8(1): 71-78.

Etemad, S. A. and White, T. 2015. An ant-inspired algorithm for detection of image edge features. Applied soft computing, 11(8): 4883-4893.

Guo, Z., Xu, W. and Chai, Z. 2010. Image edge detection based on FPGA. Ninth International Symposium in Distributed Computing and Applications to Business Engineering and Science (DCABES), Hong Kong, China: 169-171.

Huertas, A. and Medioni, G. 1986. Detection of intensity changes with subpixel accuracy using Laplacian-Gaussian masks. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-8(5): 651-664.

Kalimuddin, A. M., Didas, S., Hasanov, A., and Iqbal, J. 2015. Sharp operator based edge detection. Journal of Signal and Information Processing, 6(2): 180-189.

Khan, T. M., Bailey, D.G., Khan, M. A.U. and Kong, Y. 2015. Real-time edge detection and range finding using FPGAs. Optik-International Journal for Light and Electron Optics, 126(17): 1545-1550.

Lavanya, K. B., Reddy, K.V. R. and Yellampalli, S.S. 2014. Comparative analysis of different optimization technique for Sobel edge detection on FPGA. In International Conference on Advances in Electronics, Computers and Communications (ICAECC), Bangalore, India: 1-5.

Lena.bmp. 2018. Accessible via (last access: 12. 11. 2018)

Lopez-Molina, C., De Baets, B. and Bustince, H. 2014. A framework for edge detection based on relief functions. Information Sciences, 278: 127-140.

Madhulika, D. Y., Madhurima, P. G., Kaur, G., Singh, J., Gandhi, M. and Singh, A. 2013. Implementing edge detection for medical diagnosis of a Bone in Matlab. In the 5th International Conference in Computational

Intelligence and Communication Networks, Mathura, India: 270-274.

Mitrionics. 2001.

Mintz, D., 1992. Robust consensus based edge detection. In Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR '92), Las Vegas, NV, USA: 651-653.

Nixon, M. and Aguado, A. 2008. Feature extraction & image processing. Elsevier, 2nd edition.

Prakash, V., Hanmandlu, M., Kumar, P., Chhabra, S. and Jindal, A. 2011. A novel bacterial foraging technique for edge detection. Pattern recognition letters, 32(8): 1187-1196.

Rao, D. V. and Venkatesan M. 2004. An efficient reconfigurable architecture and implementation of edge detection algorithm using Handle-C. Proceedings of International Conference on Information Technology: Coding and Computing (ITCC 2004), Vol. 2: 843–847.

Rashid, S.S., Dixit, S.R. and Deshmukh, A.Y. 2014. VHDL based canny edge detection algorithm. International Journal of Current Engineering and Technology, 4(2): 749-752.

Rashmi, M. K. and Saxena, R. 2013. Algorithm and technique on various edge detection: A survey. Signal & Image Processing: An International Journal (SIPIJ) 4(3): 65-75.

Samuel, A. and Fehrenbach, J. 2015. Edge detection using topological gradients: a scale-space approach. Journal of Mathematical Imaging and Vision, 52(2); 249-266.

Shrivakshan, G. T. and Chandrasekar, Dr. C. 2012. A comparison of various edge detection techniques used in image processing. International Journal of Computer Science Issues (IJCSI), Issue 5, 9(1): 269 – 276.

Singh, S., Shekhar, C. and Vohra, A. 2013. Area optimized FPGA implementation of color edge detection. In International Conference on Advanced Electronic Systems (ICAES), Pilani, India: 189-191.

SGI Inc. 2006. Reconfigurable application-specific computing user’s guide. 007-4718-007.

SGI Inc. 2019. SGI RASC 100 Manual by SGI, (last access: 22. 01. 2019).

Uguz, S., Sahin, U. and Sahin, F. 2015. Edge detection with fuzzy cellular automata transition function optimized by PSO. Computers & Electrical Engineering, 43(C): 180-192.

Gonzalez, R. C. and Woods, R. E. 2008. Digital image processing. Pearson Education, 3rd Edition.

Vanishree and K.V R. Reddy. 2013. Implementation of pipelined sobel edge detection algorithm on FPGA for high speed applications. International Conference on Emerging Trends in Communication, Control, Signal Processing & Computing Applications (C2SPCA), Bangalore, India: 1-5.

Xiaochen, L. and Fang, S. 2015. A convenient and robust edge detection method based on ant colony optimization. Optics Communications, 353: 147-157.

Yasri, I., Hamid, N. H. and Yap, V. V. 2008. Performance analysis of FPGA based sobel edge detection operator. Proc. Int. Conf. Electron. Design, Penang, Malaysia: 1-4.

Yingjie, Z. and Liling, G. 2007. A simple and efficient multiscale edge detection Method based on image diffusion. Workshop on Intelligent Information Technology Application, Zhang Jiajie, China: 235-238.

Yip, H. M., Ahmad, I. and Pong, T. C. 1999. An efficient parallel algorithm for computing the Gaussian convolution of multi-dimensional image data. The Journal of Supercomputing, 14(3): 233-255.

Computer Engineering