pixel_traits
その名前が示すように、これはピクセルタイプの特性クラスです。どの種類のピクセルを扱っているかを判断できます。
#include <dlib / pixel.h>
template <typename T>
struct pixel_traits;
/*!
WHAT THIS OBJECT REPRESENTS
As the name implies, this is a traits class for pixel types.
It defines the properties of a pixel.
This traits class will define the following public static members:
- bool grayscale
- bool rgb
- bool rgb_alpha
- bool hsi
- bool lab
- bool has_alpha
- long num
- basic_pixel_type
- basic_pixel_type min()
- basic_pixel_type max()
- is_unsigned
The above public constants are subject to the following constraints:
- only one of grayscale, rgb, rgb_alpha, hsi or lab is true
- if (rgb == true) then
- The type T will be a struct with 3 public members of type
unsigned char named "red" "green" and "blue".
- This type of pixel represents the RGB color space.
- num == 3
- has_alpha == false
- basic_pixel_type == unsigned char
- min() == 0
- max() == 255
- is_unsigned == true
- if (rgb_alpha == true) then
- The type T will be a struct with 4 public members of type
unsigned char named "red" "green" "blue" and "alpha".
- This type of pixel represents the RGB color space with
an alpha channel where an alpha of 0 represents a pixel
that is totally transparent and 255 represents a pixel
with maximum opacity.
- num == 4
- has_alpha == true
- basic_pixel_type == unsigned char
- min() == 0
- max() == 255
- is_unsigned == true
- else if (hsi == true) then
- The type T will be a struct with 3 public members of type
unsigned char named "h" "s" and "i".
- This type of pixel represents the HSI color space.
- num == 3
- has_alpha == false
- basic_pixel_type == unsigned char
- min() == 0
- max() == 255
- is_unsigned == true
- else if (lab == true) then
- The type T will be a struct with 3 public members of type
unsigned char named "l" "a" and "b".
- This type of pixel represents the Lab color space.
- num == 3
- has_alpha == false
- basic_pixel_type == unsigned char
- min() == 0
- max() == 255
- is_unsigned == true
- else
- grayscale == true
- This type of pixel represents a grayscale color space. T
will be some kind of basic scalar type such as unsigned int.
- num == 1
- has_alpha == false
- basic_pixel_type == T
- min() == the minimum obtainable value of objects of type T
- max() == the maximum obtainable value of objects of type T
- is_unsigned is true if min() == 0 and false otherwise
!*/