Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gurveervirk/adobe-gensolve-2024
End-to-end process to regularize hand-drawn shapes, find symmetry in it, if possible, and complete these shapes, if necessary.
https://github.com/gurveervirk/adobe-gensolve-2024
adobe curve-fitting mathematical-modelling mathematics science streamlit
Last synced: about 8 hours ago
JSON representation
End-to-end process to regularize hand-drawn shapes, find symmetry in it, if possible, and complete these shapes, if necessary.
- Host: GitHub
- URL: https://github.com/gurveervirk/adobe-gensolve-2024
- Owner: gurveervirk
- Created: 2024-07-30T14:43:50.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-11T18:42:39.000Z (3 months ago)
- Last Synced: 2024-08-12T19:01:33.614Z (3 months ago)
- Topics: adobe, curve-fitting, mathematical-modelling, mathematics, science, streamlit
- Language: Python
- Homepage: https://curvetopia-adobe.streamlit.app/
- Size: 2.64 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Curvetopia
## Description
This project aims to take as input hand-drawn shapes and:
1. regularize the shape, if possible
2. check for symmetry in the image, and return a line of symmetry if it does
3. complete incomplete shapes using the above## Installation
To install the project, follow these steps:
1. Clone the repository.
2. Run `pip install -r requirements.txt` to install the dependencies.## Usage
The `main` part of most scripts are commented for streamlit deployment. Kindly go through the comments before uncommenting and using them.
### Curve Completion
The `curve_completion.py` script is designed to complete incomplete curves by fitting shapes to connected polylines. Kindly check the video under Miscellaneous to use this code.
To run:
```
python scripts/curve_completion.py
```### Curve Extrapolation
The `curve_extrapolation.py` script extrapolates missing parts of a curve using interpolation.
To run:
```
python scripts/curve_extrapolation.py
```### Shape Detection
The `detect_shapes.py` script detects and regularizes different shapes (e.g., lines, ellipses, polygons) within a set of points.
To run:
```
python scripts/detect_shapes.py
```### Reflection Symmetry Detection
The `find_reflection_symmetry_line.py` script finds the line of reflection symmetry for a given set of points.
To run:
```
python scripts/find_reflection_symmetry_line.py
```### Polyline Splitting and Merging
The `split_disjoint.py` script splits polylines into disjoint segments and attempts to merge and extend them based on angle and proximity criteria.
To run:
```
python scripts/split_disjoint.py
```## Curve Completion Examples
occlusion1
occlusion2
frag2
isolated
## Miscellaneous
- [Demo](https://youtu.be/YcmWPHTnhBQ)
- [Demo for Curve Completion](https://drive.google.com/file/d/1_V41Bb5XKwe1rqgN81oTptldy6xEB3JK/view)
- [Hosted Streamlit App](https://curvetopia-adobe.streamlit.app/)