GameBEye, vintage camera and modern processing
GameBEye is a Python library to do some image processing with Game Boy Camera images.
The goal for me was to write Python code, to use its scientific libraries (mainly numpy), to build a package, to write Sphinx documentation, and to share it.
The documentation page can be found here!
Introduction
In the late 80’s, Nintendo release a new handheld game console, the first of a new family : the GameBoy. In the following decade, a couple of year before my tenth birthday, this 8-bit console was mine with an Asterix video game to play…
The same year Les Bleus, the France national football team, won their first FIFA World Cup - i.e. 1998 - a four-grayscaled world was born with the GameBoy Camera. All in a resolution of 128 x 112 pixels (0.014 Megapixels). Pretty impressive, right ?
Birth of the project
Surfing on the web, searching for some new DIY projects to start, I found Furrtek Game Boy Camera project to transform Game Boy Camera into a DSLR or a webcam. However, I do not own his electronic skills… But i know how to code !
Furrtek's YouTube video for his GameBoy Camcorder project
Project’s development
1. Goals
This project aims to become a Python library. It’ll purely be used as an external package to process Game Boy Camera images in scripts or in the Python console.
My main goal was and is still to learn and improve my knowledge in a programming language (here, Python) and scientific libraries (here, numpy and OpenCV), to try GitHub CI and to discover and learn stuff along the way. I also wanted to maintain the project documentation as up to date as possible by add the maximum of docstrings in my files.
2. Setup
2.1 Transfering images from GameBoy Camera to a computer
The first pitfall to overcome could be downloading the photo from the GameBoy Camera. Fortunately, there are many ways to avoid these by paying a few bucks :
- GB Operator from Epilogue allows users to play (thru an emulator) and manage (save games) Game Boy cartridges on any Windows or Apple computer.
- GBxCart RW from insideGadgets reads cartridges to save backups of your games, to push your own games into new ones and also to save Game Boy Camera photos.
- Other DIY PCB projects you can find on GitHub, Hackaday,… or various maker websites.
2.2 Using GameBEye to play with original Game Boy Camera pictures
Once installed, you can start using the library to process your images using examples or make your own.
For the moment, it allows a few effects as changing image colors from Black & White to a color from a predefine palette as :
You can also add a thermal printed effect to display images like this :
3. Project’s evolution
Before using this project with an graphical computer interface, I would like to keep improving and adding software functionalities to this library :
- changing colors from grayscale values to a selection of RGB values,
- creating new display filters,
- changing the image size up (or down),
- colorizing the image with you own colors choice (maybe using a deep learning algorithm),
- creating a command line interface to process images in a terminal,
- adding ideas or features people may want,
- …
Documentation
You’ll find more information on how to use GameBEye in the documentation page
Let’s see the world in quadricolor!