Inspiration
What it does
This program retrieves real-time camera footage and displays ASCII art to the command prompt. The program analyzes the grayscale shade of the scaled-down camera footage and assigns each pixel an ASCII character based on the sample intensity.
How we built it
This program was developed by first attempting to convert a single image into ASCII art utilizing the Pillow library (Python Imaging Library). After successfully developing the general algorithm required to convert the image into ASCII art, the project could be extended into real-time video. The image library was switched to OpenCV to receive the real-time camera feed, and the algorithm was applied to successfully convert the video into ASCII art.
Challenges we ran into
When testing the video to ASCII conversion, the terminal would flicker after being cleared before each frame was drawn. Different size reductions were tested to observe the effects of art dimensions on flicker frequency. It was found that larger images resulted in less flickering despite taking longer to draw. It was concluded that smaller art dimensions were being drawn faster than the video frame rate, so the cleared console was visible for a longer duration of time.
Accomplishments that we're proud of
We are proud of developing an algorithm that successfully converts the video into ASCII art. Working through the flickering problem was a massive relief, and we look forward to seeing what this project could become next.
What we learned
We learned how to take real-time video with OpenCV and implement basic image processing techniques to format the images so we could convert them to ASCII art. Working through various challenges helped us better understand the OpenCV library and image processing.
What's next for Real-time video to ASCII converter
We hope to turn the real-time video to ASCII converter into an app that people can use as a fun way to view their videos and images.
Log in or sign up for Devpost to join the conversation.