Monday, October 19, 2020

Image Correction for RGB LED Matrices

Working with RGB LED matrices in CircuitPython (or Arduino with the Adafruit_Protomatter library), you might notice that certain graphics appear washed out. High-contrast elements such as text or “LED sand” look fine, but something appears off when you try loading a more subtly-shaded BMP image.

We’d like to have gamma correction baked right into our LED matrix driver code. Work continues on that but isn’t ready yet…and once there, it will demand extra RAM and CPU cycles that not all projects can afford.

In the interim, we’ve come up with a couple techniques for preprocessing images to look better on these matrices, as seen in the graphically-intensive Moon Clock and Matrix Portal Eyes projects. Not as desirable as true gamma correction in the matrix driver, but often a good compromise!

Both approaches require using a “regular” desktop or laptop computer — one uses a Python script, the other relies on the free ImageMagick graphics utility.

No comments:

Post a Comment