This ASCII Art Generator is a Scala application designed to convert images into ASCII art representations. It supports various image processing steps including RGB to grayscale conversion, application of filters, and ASCII character mapping based on image luminance.
- Image Conversion: Converts RGB images to grayscale.
- Filter Application: Supports applying a series of filters to images, including brightness adjustment and scaling.
- ASCII Conversion: Transforms grayscale images into ASCII art using a customizable character set.
- Flexible Input/Output: Accepts images from different sources and outputs ASCII art to various destinations (console, file).
- Scala [2.13.3]
- sbt [1.0.0]
Clone the repository and navigate to the project directory:
git clone [repository URL]
cd ascii-art-generator
Run the application using sbt:
sbt run [command line arguments]
--image [path]: Specify the path of the image file to use as the source.
--image-random: Use a random image as the source.
--output-console: Output the ASCII art to the console.
--output-file [path]: Output the ASCII art to a file at the specified path.
Additional arguments for filters and ASCII conversion settings.
You can list these available arguments with --help
argument
The project includes unit tests for individual components and integration tests for the overall processing flow. Running Tests
Execute tests using sbt:
sbt test