Как получить цвет прямоугольника 16 на 16 пикселей к примеру по углам монитора?

Всем хелло) Появился сторонний вопрос по Processing. Как получить цвет прямоугольника к примеру 16 на 16 пикселей и по углам монитора? Нужно для проекта по типу “фоновая подсветка монитора”. Программа на processing будет отправлять цвета в каком-нибудь формате, ардуинка будет получать эти цвета, и зная каждый цвет будет показывать на адреску градиент. Знаю программку AmbiBox, но по словам Гувера ( от него и мысль моего проекта ) она нагружает процессор. И в правду зашёл в ту-же КС2 и начала нереально лагать. Выключил программу - всё как обычно. Надеюсь на помощь. Вот что уже сделал:

int speed = 9600;
int wle = 1;
String portName;

import processing.serial.*;
Serial serial;
import controlP5.*;
ControlP5 cp5;

void setup(){
 size(400, 200);
 surface.setTitle("Glow Pro v 1.0 ");
 cp5 = new ControlP5(this);
 
 cp5.addScrollableList("comlist").close();
 cp5.addButton("refresh").setPosition(105, 0);
 cp5.addButton("strip_ON").setPosition(180, 0);
 cp5.addButton("stripOFF").setPosition(255, 0);
}

void refresh() {
 String list[] = Serial.list();
 cp5.get(ScrollableList.class, "comlist").addItems(list); 
}
void comlist(int n) {
 portName = Serial.list()[n];
}
void strip_ON() {
 serial = new Serial(this, portName, speed);
 }
 
void strip_OFF() {
 serial.stop();
}
void draw(){
  background(120);
  if (serial != null ) {
  
  }
  
}

Я, конечно, могу путать (так как сам никогда подобное не дела, а лишь читал о таком), но на сколько знаю амбибокс делает скриншот экрана и вычисляет цвета и интенсивность по сделанному скриншоту. Потому и тормозить может всё.
Вроде бы у того же гувера был проект с определением цвета и интенсивности сторонними датчиками, прикрепленными к экрану (а может и не у него, не помню).

Да у нас совпали мысли) тоже так думаю) не хочется колхозить это датчики на шлейфах

опции только такие:

  1. VNC (то же самое что скришотить, но можно переложить нагрузку на другой комп, например атом соплерон или raspberry)
  2. камера + opencv. OBS + opencv. возможно есть ещё плуги к obs. в конце концов, она умеет процессить фильтрами. есть даже плуг-шейдерпроцессор, так и называется obs-shader-plugin
  3. FPGA в разрыв видеокабеля.
  4. (тоже лютый колхоз но технически проще чем FPGA) - врезаться в разрыв кабелей LVDS (на выводы матрицы грубо говоря)

про амбибокс: скриншот скриншоту рознь.
писать его можно на диск или в оперативную память (гуглим imdisk-tk)
считать RMS цвета можно целочисленным или FP способом
считать можно на компилируемом или интерпретируемом языке

и т д.

я лично прелагаю 1 как самое простое. vnc позволяет объявлять области экрана на отдельные порты, по умолчанию в tcp 5900 идёт экран целиком. но можно брать куски не только со второго монитора, но и с основного. и куски могут быть например очень длинным “экраном” с соотношением 1280:16, который vnc будет отдавать в порт 5901. вверху экрана. внизу - в 5902. и т д.
потом это останется через сеть собрать и юзать. можно даже в eth shield, но скорее всего на mega2560 т к обычная 328 захлебнётся от трафика (у неё всего 2 кб мозгов).

хз конечно, но я думаю это самый простой способ.

upd. но это чисто первое впечатление, imo видеозахват через obs должен быть производительнее. VNC это очень древняя технология, примерно 1996 года.