doc/develop/manifest/external/libmpix.rst
.. _external_module_libmpix:
libmpix #######
Introduction
The libmpix_ project provides a library for working with image data on microcontrollers.
It supports pixel format conversion, debayer, blur, sharpen, color correction, resizing and more.
It pipelines multiple operations together, eliminating intermediate buffers. This allows larger image resolutions to fit in constrained systems without compromising performance.
Features
Usage with Zephyr
To pull in libmpix as a Zephyr module, either add it as a West project in the :file:west.yaml
file or pull it in by adding a submanifest (e.g. zephyr/submanifests/libmpix.yaml) file
with the following content and run :command:west update:
.. code-block:: yaml
manifest: projects: - name: libmpix url: https://github.com/libmpix/libmpix.git revision: main path: modules/lib/libmpix
Refer to the libmpix headers for API details. A brief example is shown below.
.. code-block:: c
#include <mpix/image.h>
struct mpix_image img;
mpix_image_from_buf(&img, buf_in, sizeof(buf_in), MPIX_FORMAT_RGB24); mpix_image_kernel(&img, MPIX_KERNEL_DENOISE, 5); mpix_image_kernel(&img, MPIX_KERNEL_SHARPEN, 3); mpix_image_convert(&img, MPIX_FORMAT_YUYV); mpix_image_to_buf(&img, buf_out, sizeof(buf_out));
return img.err;
References
.. target-notes::
.. _libmpix: https://github.com/libmpix/libmpix