An open API service indexing awesome lists of open source software.

https://github.com/francoyudica/shapeify

Recreate your images with simple shapes
https://github.com/francoyudica/shapeify

compute-shader computer-graphics genetic-algorithm godot image-generation image-processing local-search-algoirthms

Last synced: 3 months ago
JSON representation

Recreate your images with simple shapes

Awesome Lists containing this project

README

        

[![▶️ Watch the Shapeify Showcase Video](https://github.com/user-attachments/assets/7179235c-9dab-4ecd-ae14-5569173dd96c)](https://youtu.be/ovkoXVkdLto "Watch on YouTube")

📺 _Click the image to watch the video on YouTube!_

License
Godot v4.3+
Latest Release

**Shapeify** is a desktop application that recreates any image using smaller shapes, giving it a unique and stylized look.

## Features

Shapeify offers a powerful yet easy-to-use interface, allowing full control over the image reconstruction process with a wide range of tweakable parameters. Key features include:

- Reconstruct any image using a selected set of smaller images as building blocks.
- Save your artwork in multiple formats, including PNG, JPG, WEBP, and JSON, for integration into custom projects.
- Load various image formats, including PNG, JPG, SVG, JPEG, BMP, and WEBP.
- Animate your creations with Shapeify’s integrated animator.
- Optimize results effortlessly with predefined modes: SUPER_FAST, FAST, PERFORMANCE, and QUALITY.
- Access tested default image collections for quick and effortless artwork generation.
- Customize every aspect of the algorithm with a wide range of adjustable parameters.
- Guide the algorithm intelligently using an automatically generated weight texture, prioritizing key areas of the image.
- User input to provide a mask for guiding the algorithm.

## Installation

Shapeify is available through the following options:

- [Itch.io](https://franco-yudica.itch.io/shapeify)
- The latest [GitHub release](https://github.com/FrancoYudica/Shapeify/releases)
- Building the project locally using [Godot 4.3](https://godotengine.org/download).

## Settings

Shapeify provides an extensive range of configurable settings, allowing users to adjust the attributes of its algorithms through a dedicated interface. Additionally, pre-tested presets are available to produce high-quality results, offering a practical option for users who may not have prior knowledge of the underlying algorithms.

![all_toggle_panels](https://github.com/user-attachments/assets/72f9e4a2-1f81-4cd2-9c03-c2ad71e90678)

## Animator

After the image is generated, you can apply animations, which are built into Shapeify by default. These function similarly to vertex shaders, allowing you to create animations like the following:




Note that animations are exported as a sequence of images, therefore using a tool such as [ffmpeg](https://www.ffmpeg.org/) is required in order to generate a video or gif.

## Post processing

Shapeify includes a set of post-processing effects that are applied after the shapes are generated, meaning they do not interfere with the core algorithm.

Currently, the available post-processing effects include:

- Hue Shift
- Value Shift
- Saturation Shift
- RGB Shift
- CIELAB Shift

Below are some examples showcasing the possibilities of the post-processing pipeline, achieved by combining multiple effects:






## Contributing

Contributions of all kinds are welcome! If you’re interested in contributing to this project, please take a moment to review [`CONTRIBUTING.md`](https://github.com/FrancoYudica/Shapeify/blob/main/CONTRIBUTING.md) file.

## Whitepaper

A [whitepaper](https://github.com/FrancoYudica/Shapeify/blob/v1.0.0/whitepaper_esp.md) was written for version _v1.0.0_, detailing the algorithms used in the project in spanish. While it's a bit outdated, it may be updated in the future.

## Gallery

Here are some examples demonstrating Shapeify's versatility, using different shapes to create a diverse range of artistic styles: