To apply for this task please complete one of those mandatory coding challenge together with your application: T871 or T1140
Applications without matching coding challenge completed will not be considered.
Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview
The AXIOM Beta features a small program called cmv_hist3 that calculated raw histogram values (https://en.wikipedia.org/wiki/Image_histogram) from a current image in the real time processing pipeline. cmv_hist3 is not meant to be fully real time capable as it is enough in most cases to calculate a new histogram with every couple of frames captured (image sensor can also run up to 300 fps).
cmv_hist3 source code: https://github.com/apertus-open-source-cinema/axiom-beta-firmware/tree/master/software/sensor_tools/hist
First steps are understanding and improving this tool with small new features (crop image and extract histogram only from selection), etc.
The next steps are creating similar tools for Waveform (https://en.wikipedia.org/wiki/Waveform_monitor) and Vectorscope (https://en.wikipedia.org/wiki/Vectorscope) display as typically used with cinematography/color analysis.
A good introduction to these tools can be found here:
- https://web.archive.org/web/20160319081747/https://kdenlive.org/users/granjow/introducing-color-scopes-histogram
- https://web.archive.org/web/20160319050009/https://kdenlive.org/users/granjow/introducing-color-scopes-waveform-and-rgb-parade
- https://web.archive.org/web/20160322060304/https://kdenlive.org/users/granjow/introducing-color-scopes-vectorscope
While these tools can be fully CPU-based, using subsampling to achieve a decent frame rate, it's best to accelerate them using FPGA. Of course, this will increase the task difficulty and is therefore optional.
Prerequisites:
- Basic math knowledge
Language Skills:
- C
- optional: VHDL
Difficulty: Medium
Mentors: Alex (main mentor), Bertl (co/backup mentor)
To get in touch with any mentor check the Mentor Contact List.
Notes: If you do not have access to the required hardware platforms/dev kits we will provide them (or remote access) to you for the duration of the project.