Cómo filtrar con precisión el valor RGB para el efecto de clave de croma

acabo de leeresta tutorial y probé este ejemplo. Así que descargué un video de la web para mis propias pruebas. Todo lo que tengo que hacer es ajustar los valores rgb en condiciones if

AQUÍ está el código de muestra del ejemplo

computeFrame: function() {
    this.ctx1.drawImage(this.video, 0, 0, this.width, this.height);
    let frame = this.ctx1.getImageData(0, 0, this.width, this.height);
    let l = frame.data.length / 4;

    for (let i = 0; i < l; i++) {
      let r = frame.data[i * 4 + 0];
      let g = frame.data[i * 4 + 1];
      let b = frame.data[i * 4 + 2];
      if (g > 100 && r > 100 && b < 43)
        frame.data[i * 4 + 3] = 0;
    }
    this.ctx2.putImageData(frame, 0, 0);
    return;
  }

En el ejemplo del tutorial está filtrando el color amarillo (no amarillo, supongo). El video de muestra que descargué usa fondo verde. Así que modifiqué el valor rgb en condición if para obtener los resultados deseados

Después de varios intentos, logré obtener esto.

Ahora lo que quiero saber es cómo puedo filtrar con precisión la pantalla verde (o cualquier otra pantalla) perfectamente sin adivinar. O ajustar valores al azar.

Con solo adivinarlo, se necesitan horas para hacerlo bien. Y esto es solo una muestra con una aplicación del mundo real. Puede tomar tal vez más.

NOTA: El ejemplo está funcionando en Firefox por ahora.

Respuestas a la pregunta(2)

Su respuesta a la pregunta