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.
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.
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