Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erthium/ascii-art
Project for converting image frames into ASCII art, with hopes to make real-time video conversion work
https://github.com/erthium/ascii-art
ascii ascii-art cpp image-processing sfml
Last synced: about 1 month ago
JSON representation
Project for converting image frames into ASCII art, with hopes to make real-time video conversion work
- Host: GitHub
- URL: https://github.com/erthium/ascii-art
- Owner: erthium
- License: gpl-3.0
- Created: 2023-12-17T20:28:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-27T15:44:13.000Z (about 2 months ago)
- Last Synced: 2024-10-27T18:19:53.061Z (about 2 months ago)
- Topics: ascii, ascii-art, cpp, image-processing, sfml
- Language: C++
- Homepage:
- Size: 3.18 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ASCII Art
Image to ASCII converter with C++ and SFML.
Main idea is to be able accept any kind of 2D array that holds pixel data and give a similar output, and be able to save the output as an image or video.
## License
This project is licensed under the [GNU GPL-3.0](https://github.com/ErtyumPX/ascii-art/blob/main/LICENSE) license.
Feel free to use the source code. Referring to the repository would be very much appreciated.
## Setup
Project is currently compiled with `GNU G++ 13.2.1`.
The only third-party dependency is `SFML2`. Used version of SFML in project is `2.6.1`.
SFML was selected because of it's ease of use for text rendering with sizes being all agjusted in pixels.
For compiling and linking rules `GNU Make 4.4.1` was used. After downloading dependencies, make sure to change the include paths inside the Makefile.
```
# change the paths for '-I'
CC := g++
CFLAGS := -Wall -std=c++11 -I/usr/include/SDL2 # here
LDFLAGS := -lsfml-graphics -lsfml-window -lsfml-system
...
```After fulfilling dependencies, download or clone the project and use Makefile to easily compile:
```
> make run
```Since SFML is a cross-platform media library, output should work on Windows, MacOS and Linux.
## General Structure
### Directory Structure and Files
- `src/` directory contains the source code
- `src/main.cpp` is the entry point of the program
- `src/converter.hpp` contains the declarations of the core converter class
- `src/converter.cpp` contains the implementation of core methods
- `stable/` directory contains the stable output
- `stable/ascii.art` is the executable### How It Goes
Will be updated soon.