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 !*/