/LineDetection

A pipeline which extract edges from an image with Canny Edge Detector and then identifies lines, which forms those edges

Primary LanguageJupyter NotebookMIT LicenseMIT

LineDetection

Abstract

A pipeline which extract edges from an image with Canny Edge Detector and then identifies lines, which form those edges. Here we provided our own implementation of OpenCV algorithms Canny and HoughLines, which we compared with original OpenCV realization.

How to use

Just clone/fork the repository and run the main.ipynb file. If you want to use it with your own images, update Image_path with correct image path in section "Global Parameters". You might need to update other parameters as well.

Algorithm

Basically, we could divide the entiry process into 3 steps:

  • Data Preprocessing: convering image to a greyscale and then binarizing it,
  • Edge Detection: extracting figure's edges with Canny Edge Detector,
  • Line Detection: discovering line, which identifies the edges, with Hough transform.

You can find a step by step description of Canny Edge Detection here, while for Hough transform you can check a great explanation here

References