38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# KissCut
|
|
|
|
PySide6 GUI for generating smooth kiss-cut outlines from PNGs. Drop an image, tune a few sliders (inflation, smoothing, corner detection), preview the padded mask, and export a spline-smoothed SVG.
|
|
|
|
## Features
|
|
- Drag-and-drop PNG preview with auto-padding when the mask touches an edge.
|
|
- Adjustable DPI, inflation (inches), alpha threshold, RDP epsilon, spline smoothing, spline points, and corner angle.
|
|
- Mask overlay plus Bezier-path preview in the viewport.
|
|
- SVG export of the smoothed outline (cubic Beziers).
|
|
|
|
## Requirements
|
|
- Python 3.9+ recommended.
|
|
- Dependencies: `Pillow`, `numpy`, `scikit-image`, `scipy`, `PySide6`.
|
|
|
|
Install deps:
|
|
```bash
|
|
pip install Pillow numpy scikit-image scipy PySide6
|
|
```
|
|
|
|
## Usage
|
|
1) Run the app:
|
|
```bash
|
|
python kisscut_gui.py
|
|
```
|
|
2) Drag a PNG into the window (or drop a file and hit “Update Preview”).
|
|
3) Tune sliders/inputs:
|
|
- `DPI`: used for inflation and mm conversion.
|
|
- `Inflation (inch)`: outward growth of the mask.
|
|
- `Alpha Threshold`: what counts as transparent vs opaque.
|
|
- `RDP Epsilon (mm)`, `Spline Smoothing`, `Spline Points`, `Corner Angle`: simplification and curve-fit controls.
|
|
4) Click “Export Vector” to save an SVG with the fitted outline.
|
|
|
|
## Samples
|
|
Try the images in `samples/` to see expected behavior.
|
|
|
|
## License
|
|
CC0-1.0 Public Domain Dedication. Use, modify, and redistribute freely.
|