Como filtrar com precisão o valor RGB para obter um efeito de chave de croma

eu acabei de leresta tutorial e tentei este exemplo. Então, baixei um vídeo da Web para meus próprios testes. Tudo o que preciso fazer é ajustar os valores de rgb nas condições

AQUI é o código de exemplo do exemplo

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;
  }

No exemplo do tutorial, está filtrando a cor amarela (não amarela, eu acho). O vídeo de amostra que baixei usa fundo verde. Então ajustei o valor rgb na condição if para obter os resultados desejados

Após várias tentativas, consegui isso.

Agora, o que eu quero saber é como filtrar com precisão a tela verde (ou qualquer outra tela) perfeitamente sem adivinhar. Ou ajustando valores aleatoriamente.

Com apenas adivinhar que leva horas para acertar perfeitamente. E isso é apenas uma amostra com um aplicativo do mundo real. Pode demorar talvez mais.

NOTA: O exemplo está funcionando no Firefox por enquanto.

questionAnswers(2)

yourAnswerToTheQuestion