Каковы диапазоны координат в цветовом пространстве CIELAB?

У меня есть следующий кусок кода:

public List GetNormalizedPixels(Bitmap image)
{
    System.Drawing.Imaging.BitmapData data = image.LockBits(
        new Rectangle(0, 0, image.Width, image.Height),
        System.Drawing.Imaging.ImageLockMode.ReadOnly,
        image.PixelFormat);

    int pixelSize = Image.GetPixelFormatSize(image.PixelFormat) / 8;

    var result = new List();

    unsafe
    {
        for (int y = 0; y < data.Height; ++y)
        {
            byte* row = (byte*)data.Scan0 + (y * data.Stride);

            for (int x = 0; x < data.Width; ++x)
            {
                Color c = Color.FromArgb(
                    row[x * pixelSize + 3],
                    row[x * pixelSize + 2],
                    row[x * pixelSize + 1],
                    row[x * pixelSize]);

                // (*)
                result.Add(Tuple.Create(
                    1.0 * c.R / 255,
                    1.0 * c.G / 255,
                    1.0 * c.B / 255);
            }
        }
    }

    image.UnlockBits(data);

    return result;
}

Ключевой фрагмент (*) таков:

result.Add(Tuple.Create(
    1.0 * c.R / 255,
    1.0 * c.G / 255,
    1.0 * c.B / 255);

который добавляет пиксель с его масштабированными компонентами[0, 1] для дальнейшего использования в задачах классификации с различными классификаторами. Некоторые из них требуют, чтобы атрибуты были нормализованы, как это, другие неТ забота - отсюда и эта функция.

Тем не менее, что я должен делать, когда яхотел бы классифицировать пиксели в другом цветовом пространстве, чемRGB, лайкL*a*b*? Пока значения всех координат вRGB цветовое пространство попадает в диапазон[0,256) вL*a*b* цветовое пространствоa* а такжеb* Говорят, что неограничен.

Поэтому при изменении фрагмента (*) на :(

Lab lab = c.ToLab();

result.Add(Tuple.Create(
    1.0 * lab.L / 100,
    1.0 * lab.A / ?,
    1.0 * lab.B / ?);

ToLab является методом расширения, реализованным с использованием соответствующих алгоритмовВот)

что я должен поставить для вопросительных знаков?

Ответы на вопрос(3)

Ваш ответ на вопрос