A Comparison of Canny Edge Detection Implementations with Hadoop

  • Josiah SmalleyEmail author
  • Suely Oliveira
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 887)


Edge detection plays a large role in digital image processing; it allows for easier identification of objects within the image from a human perspective and also opens the door for automated object detection via machine learning. One of the common edge detection algorithms, developed by John F. Canny in 1986, is a multi-stage algorithm making use of gradients within the image to calculate potential edges. Hadoop is a Java library built on the MapReduce framework and was designed to be used for distributed processing of big data projects. We, instead, choose to adapt the Canny edge detection algorithm to run via Hadoop using two methods: a streaming Python implementation and a Java implementation to compare their run times and to determine whether or not using Hadoop for such a problem is desirable over the classic sequential implementation. In Sect. 1, we introduce edge detection, explaining what it is and why it is important. In Sect. 2, we explore Canny’s algorithm. In Sect. 3, we then explain our methodology of parallelizing the sequential code and the issues which arise during the process. In Sect. 4, we display the results of our implementations. In Sect. 5 we conclude with a possible explanation of why our code does not perform as well as we had anticipated; due to memory limitations of our specific Hadoop cluster, the implementations created do not perform well for processing typical images, but do allow for the processing of very large images. We also explore possibilities for future work.


Hadoop Canny edge detection Java Python 


  1. 1.
    Barrow, H.G., Tenenbaum, J.M.: Interpreting line drawings as three-dimensional surfaces. Artif. Intell. 17(1–3), 75–116 (1981)CrossRefGoogle Scholar
  2. 2.
    Lindeberg, T.: Encyclopaedia of Mathematics (Set). Springer (2001). Gmb HGoogle Scholar
  3. 3.
    Asghari, M.H., Jalali, B.: Physics-inspired image edge detection. In: IEEE Global Signal and Information Processing Symposium (2014)Google Scholar
  4. 4.
    Brejl, M., Sonka, M.: Object localization and border detection criteria design in edge-based image segmentation: automated learning from examples. IEEE Trans. Med. Imaging 19(10), 973–985 (2000)CrossRefGoogle Scholar
  5. 5.
    Canny, J.F.: A computational approach to edge detection. IEEE Trans. Pattern Anal. Machine Intell. PAMI-8(6), 679–697 (1986)CrossRefGoogle Scholar
  6. 6.
    White, T.: Hadoop: The Definitive Guide. O’Reilly Media, Inc. (2012)Google Scholar
  7. 7.
    Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51, 107–113 (2008)CrossRefGoogle Scholar
  8. 8.
    He, W., Yuan, K.: An improved canny edge detector and its realization on FPGA. In: 7th World Congress on Intelligent Control and Automation, WCICA 2008, June 2008Google Scholar
  9. 9.
    Ogawa, K., Ito, Y., Nakano, K.: Efficient canny edge detection using a GPU. In: 2010 First International Conference on Network and Computing (ICNC), November 2010Google Scholar
  10. 10.
    Brainmaps: An interactive multiresolution brain atlas. Accessed 21 June 2017

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Applied Math and Computational SciencesUniversity of IowaIowa CityUSA
  2. 2.Department of Computer ScienceUniversity of IowaIowa CityUSA

Personalised recommendations