Compensating For Your TVs Backlight

a comparison of the before and after

[Pekka Väänänen] has a Panasonic TV with a broken backlight that creates an uneven pink/green color. While it isn’t a huge deal for most films, black-and-white films tend to show the most effect. So, by modeling the distortion as a function, [Pekka] set out to find an inverse function that corrects the distortion before it gets to the TV.

However, the backlight doesn’t emit enough light for some colors, which means the blue and green channels need to be dimmed. As mentioned earlier, the distortion isn’t even, so the distortion needs to be captured and then calculated.

He took a few pictures with his phone, corrected the perspective, and applied a blur. The camera also has some distortion but works as a first approximation, but that isn’t something he covered here. Next, he set up a webcam and pointed it at the TV, trying to find good gain and offset values with a bit of Python.


Now it just becomes a problem of minimizing the per-pixel difference. Ultimately he just went for a random approach rather than an annealing or hill-climbing approach. Now that he had a function to apply, it was just a matter of adding a custom shader to his video player, which includes a live shader editor. He had to hack in support for an external texture, but he is kind enough to include the shader code and the patch in the article.

The result is excellent, and it’s a great use for an old TV. But perhaps, in some cases, it might be worth replacing the backlight entirely.

8 thoughts on “Compensating For Your TVs Backlight

  1. Awesome work. Ive done similar using cheap sensors as light meters and of course lens distortion correction on photos but would have never thought to apply the same logic to a substandard display. This same idea could probably correct all kinds of issues. (As long as you trust the camera taking the reference shots!)

  2. a ycombinator post about this topic of a few days ago had a guy that used this trick lower the value of just two pixels, as these 2 pixels could cause the screen to crash due to power issues. Neat trick for several use cases.

    Wish it became a standard android feature to get rid of this oled burn in on this second hand replacement screen/for tv’s!

  3. Interesting, I wonder if a similar approach could even out the brightness on my beloved Pioneer KURO plasma TV that’s developed slightly uneven brightness across different areas on the screen from 15 years of use.

  4. LED backlight strips cost about $20. Hardware hacks for hardware problems.

    If that’s not hacky enough, you can solder individual LEDs onto existing strip.

    Protip: Almost all LED backlight TVs default to 100% brightness…to shorten the life of the TV. The name brands reset to 100% brightness whenever they lose power.

    1. My 2010-era Samsung never reset its brightness once over the 12 years I used it, and I live in a neighbourhood that gets relatively frequent power outages compared to everywhere else I’ve lived.

      Also, getting a backlight with the same colour rendering index is trickier than just buying 20 bucks worth of LEDs. A TV designed for a CCFL might end up missing certain colours if you put a cheap LED strip in its place.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.