Img2Num C++ (Internal Developer Docs) dev
API Documentation
Loading...
Searching...
No Matches
cielab.h
1#ifndef CIELAB_H
2#define CIELAB_H
3
4#include "internal/LABAPixel.h"
5#include "internal/LABPixel.h"
6#include "internal/RGBAPixel.h"
7#include "internal/RGBPixel.h"
8
9#include <cstdint>
10#include <type_traits>
11
12// templates must be in headers
13
14template <typename Tin, typename Tout>
15void rgb_to_lab(
16 const Tin r_u8, const Tin g_u8, const Tin b_u8, Tout& out_l, Tout& out_a, Tout& out_b
17);
18
19template <typename Tin, typename Tout>
20void lab_to_rgb(const Tin L, const Tin A, const Tin B, Tout& r_u8, Tout& g_u8, Tout& b_u8);
21
22template <typename Tin, typename Tout>
23void rgb_to_lab(const ImageLib::RGBAPixel<Tin>& rgba, ImageLib::LABAPixel<Tout>& laba);
24
25template <typename Tin, typename Tout>
26void rgb_to_lab(const ImageLib::RGBPixel<Tin>& rgb, ImageLib::LABPixel<Tout>& lab);
27
28template <typename Tin, typename Tout>
29void lab_to_rgb(const ImageLib::LABAPixel<Tin>& laba, ImageLib::RGBAPixel<Tout>& rgba);
30
31template <typename Tin, typename Tout>
32void lab_to_rgb(const ImageLib::LABPixel<Tin>& lab, ImageLib::RGBPixel<Tout>& rgb);
33
34#include "cielab_impl.h"
35
36#endif // CIELAB_H