Curvetopia is a project focused on identifying, regularizing, and beautifying various types of curves in 2D Euclidean space. The project involves converting line art from a PNG image into a set of connected cubic Bezier curves.
We have completed the regularization of curves. For detailed information on this process, please refer to the Regularization Task README.
For the occlusion handling task, we have proposed and implemented the following algorithms:
-
Process:
- Find the line of symmetry in the image.
- Detect corners using Harris corner detection.
- Filter the top 15 corners.
- Find the corresponding opposite points on the other side of the line of symmetry.
- Connect these points using B-Spline curves.
-
Details: For a detailed explanation and implementation of this algorithm, please refer to the Symmetry-Based B-Spline Algorithm README.
-
Process:
- Apply the Generalized Hough Transform using predefined template shapes to detect and complete occluded curves.
-
Details: For a detailed explanation and implementation of this algorithm, please refer to the Generalized Hough Transform with Template Shapes README.
-
Process:
- Use the Generalized Hough Transform with predefined template shapes, incorporating multi-scaling and multi-shifting techniques to handle various scales and positions of occluded curves.
-
Details: For a detailed explanation and implementation of this algorithm, please refer to the Generalized Hough Transform with Multi-Scaling and Multi-Shifting README.
- Process:
- In this algorith we are iterating over each polyline and if incomplete shape is detected in particular polyline our algo sucessfully completes it.
- Details: For a detailed explanation and implementation of this algorithm, please refer to the Shape detection and Completion.
- Output Using Algorithm 1:
- Output Using Algorithm 2:
- Output Using Algorithm 3:
If you would like to contribute to the Curvetopia project, please refer to the Contributing Guidelines.
This project is licensed under the MIT License. See the LICENSE file for more details.