[libcamera-devel] OpenGL/OpenCL software ISP Project | GSoC 2021

paul.elder at ideasonboard.com paul.elder at ideasonboard.com
Tue Mar 16 11:31:34 CET 2021


Hello Siyuan,

Thank you for your interest in libcamera for GSoC 2021.

On Mon, Mar 15, 2021 at 08:36:52PM +0800, 范思远 wrote:
> Hello Everyone,
> First: Thank You so much for making this awesome tool.
> Second: My name is Siyuan Fan, I'm a Master student in Optical Engineering, from China.
> My research interest lies on Computational imaging/photography and I am working on camera pipeline, so this project is really interesting and coincides with my skill.
> Now, I'm planning to implement some functions, details please refer to the attachment below.
> Please let me know if there is a conflict.

Oh cool, so you already know everything about image processing! :D

In which case, I think you just need to learn about the libcamera
software architecture and how our workflow works, and you should be able
to compose a project proposal, even though project proposals don't start
until the end of the month.

I'll be posting warmup tasks soon, but here are some starters you can do
in the meantime.

You can start with compiling and running libcamera with the cam/qcam
test applications that are included. If you have a Raspberry Pi 3 (not
4, since there doesn't seem to be support for OpenCL on it) or a
rockchip RK3399 or an i.MX device you can try to run libcamera on it,
and see if you run OpenCL on it as well. Otherwise you would have to
look into fixing raw capture support in the vimc kernel driver. You
could also write a standalone OpenCL application which takes an image
and applies some image processing function.

I think this would already give you enough ideas and material to write a
project proposal.

Another aspect is to learn the workflow. We use an email-based patch
submission workflow, similar to the Linux kernel, so it would be a good
exercise to send a patch to libcamera fixing *anything*; it can be as
small as a typo, just to learn the process. Here [1] [2] are some
resources on how to send patches.

[1] https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html
[2] https://nasamuffin.github.io/git/open-source/email/code-review/2019/05/22/how-i-learned-to-love-email-patches.html

You should also join us on IRC at #libcamera on freenode.

> Looking forward to working with you all.

Feel free to ask us anything. We're here to help :)


Thanks,

Paul

> The Typical ISP Pipeline: 
> =>Dead Pixel Correction
> =>Black Level Offset
> =>Vignetting & Lens Shading Correction
> =>Noise Reduction RAW
> =>Auto White Balance RAW
> =>Bayer Demosaic
> =>Gamma Correction
> =>Color Correction Matrix
> =>Color Space Conversion
> =>Luma/Chroma Processing
>         =>Chroma Noise Reduction=>Hue & Saturation Control
>         =>Luma Noise Reduction=>Edge Enhance=>Contrast & Brightness Control
> =>JPEG Compression
>                 


More information about the libcamera-devel mailing list