Data

github accounts: @phlo577 category: OPEN table No: 24

Inspiration

In a world where camera quality is increasing, so does the strain on image processing equipment. In order to run ultra HD video at high frames/second, things have to be accelerated. This can be done by using specialized hardware implemented look-up tables for color correction and adjustment. While this is, in itself a challenge, another side of the problem is to get from the visual adjustments done by an imaging engineer/designer to the numerical data that an image processor can work with.

What it does

If you don't know what a 3D LUT is -> https://en.wikipedia.org/wiki/3D_lookup_table

The tool allows a user (e.g. image tuning engineer, designer, camera developer) to adjust an imaging device (e.g. camera imaging processor, GPU) by importing an image frame and performing various image tuning operations on it. Once he is pleased with the result, he can export the 3D LUT (a text file), which can then be imported wherever it is needed as part of a larger image calibration process.

How I built it

Brute C++ hacking, bypassing Qt limitations and having a good time.

Challenges I ran into

Different color bit depth between 12 bit high definition images and 8 bit image GUI previews pose some interesting data manipulation challenges.

Accomplishments that I'm proud of

It's actually my first Qt project

What I learned

I expanded my knowledge of color theory and computer implementation. This is my first Qt C++ project, so I learnt a lot on that.

What's next for 3D LUT Generator

Following HackTM, the current version will serve as a prototype for my dissertation project and an actually useful tool used by Movidius.

Built With

Share this project:

Updates