diff --git a/Projects/2-Intermediate/Image-to-ASCII-Art.md b/Projects/2-Intermediate/Image-to-ASCII-Art.md new file mode 100644 index 00000000..26b12d46 --- /dev/null +++ b/Projects/2-Intermediate/Image-to-ASCII-Art.md @@ -0,0 +1,27 @@ +# ASCII Art Generator + +Tier 2 - Intermediate + +Create an application that converts images (JPEG format) to ASCII art. Each JPEG image, or any raster image format stores a basically a set of pixels, map the pixels rgb values to brightness value. Then map the brightness value to an ASCII character to make an image into ASCII art. + +You can use a library to read the images. A few suggestions are Pillow, MiniMagick, CamanJS and ImageMagick. + +## User Stories + +[] Read an image to rgb pixel values and convert to ASCII art. +[] Modify image and art such that it does not take too much space. (Hint: Shrink the original image before conversion) +[] Implement better brightness mapping using some knowledge of our vision. + +## Bonus features + +[] Convert the ASCII art to ASCII art with colors. Add themes for color sets. +[] Add toggle for invert colors feature. +[] Print images from the webcam. + +## Useful links and resources + +Robert Heaton's guided project on the topic [ASCII Art](https://robertheaton.com/2018/06/12/programming-projects-for-advanced-beginners-ascii-art/) + +## Example Projects + +[ASCII Art Generate](https://gist.github.com/robert/b0b14b1fd4a5feb2b45ab3ce049f5707)