Ho appena letto il tutorial this e ho provato questo esempio. Così ho scaricato un video dal web per i miei test. Tutto quello che devo fare è modificare i valori RGB in se le condizioniCome filtrare accuratamente il valore RGB per l'effetto chroma-key
Ecco il codice di esempio da esempio
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;
}
Nell'esempio esercitazione suo filtraggio fuori giallo (non gialla credo) di colore. Il video di esempio che ho scaricato utilizza lo sfondo verde. Quindi ho ottimizzato il valore di rgb in condizione per ottenere i risultati desiderati
Dopo diversi tentativi, sono riuscito a ottenere questo.
Ora quello che voglio sapere è come faccio a filtrare accuratamente schermo verde (o di qualsiasi altro schermo) perfettamente senza indovinare. O modificare i valori in modo casuale.
Con solo indovinare ci vogliono ore per farlo perfettamente nel modo giusto. E questo è solo un esempio con un'applicazione del mondo reale. Può volerci forse di più.
NOTA: L'esempio sta lavorando in Firefox per ora ..
veramente bello esempio .. ma sto ancora avendo problemi capire ..Visually sembra la stessa .. Come è possibile determinare le tonalità scure e chiare, cercando in RGBvalues. –
@Akash Kumar verso il centro è praticamente sempre più luminoso rispetto agli angoli del greenscreen. Se c'è ancora del verde che non viene filtrato, il colore si abbassa e lo usa come nuova luce o buio. Potrebbero essere necessari alcuni passaggi, ma dovrebbero essere necessari solo pochi minuti. – Entity
capito .. necessario per regolare un po 'la tolleranza .. –