Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zeh/random-art-generator
Command-line application to produce generative art based on a target image
https://github.com/zeh/random-art-generator
cli-app computer-art generative-art hill-climbing image-processing procedural-generation rust
Last synced: 4 days ago
JSON representation
Command-line application to produce generative art based on a target image
- Host: GitHub
- URL: https://github.com/zeh/random-art-generator
- Owner: zeh
- License: mit
- Created: 2020-01-21T18:34:53.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-01-24T03:26:36.000Z (almost 2 years ago)
- Last Synced: 2024-04-15T00:41:23.736Z (7 months ago)
- Topics: cli-app, computer-art, generative-art, hill-climbing, image-processing, procedural-generation, rust
- Language: Rust
- Homepage:
- Size: 13.4 MB
- Stars: 40
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Random Art Generator
![GitHub](https://img.shields.io/github/license/zeh/random-art-generator)
Download | Reference | Changelog | License (MIT)
Random Art Generator is a command-line application to produce generative art.
When passed a _target_ image, it will start painting elements on a blank canvas, essentially creating new images at random. Resulting images that are _mathematically closer_ to the target image are kept, and used as a new canvas; results that aren't get discarded. This repeats until the desired number of attempts or generations is achieved.
For example:
```shell
rag profile.jpg --generations 100
```Technically known as [hill climbing](https://en.wikipedia.org/wiki/Hill_climbing), this process allows the creation of new images that progressively converge into the target image, with a style all its own depending on the chosen painting algorithm and its arguments.
This application is written in [Rust](https://www.rust-lang.org/), and downloadable binaries are currently available for macOS, Linux, and Windows. A webasm target - so it can be used as a JavaScript library - is planned for later.