Как максимально быстро узнать среднее значение RGB в изображении

Делаю свой ambylight. Устройство arduino. Ширину изображения делю на 72.Высоту беру 200. У меня 72 led. Далее из каждого промежутка 50*200 я хочу получить среднее rgb, чтобы отослать его в Serial. Проблема. Проход между пикселями занимает много времени. Как ускорить этот процесс?

var lst= new List<Color>();
using (Graphics g = Graphics.FromImage(bmp))
{
    g.CopyFromScreen(screenLeft, screenTop, 0, 0, bmp.Size);
    var width = g.VisibleClipBounds.Width;
    var rng = Convert.ToInt32(width / 72);

    for (int i = 0; i < width; i+=rng)
    {
        int r = 0;
        int g = 0;
        int b = 0;

        int total = 0;

        for (int j = 0; j < 200; j++)
        {
            Color clr = bmp.GetPixel(i, j);

            r += clr.R;
            g += clr.G;
            b += clr.B;

            total++;
                    }
            r /= total;
            g /= total;
            b /= total;

            lst.Add(Color.FromArgb(r, g, b));
        }

}

введите сюда описание изображения


Ответы (0 шт):