L'obiettivo è visualizzare la persona su uno sfondo diverso (ovvero rimozione dello sfondo).Rimozione dello sfondo con Kinect: soppressione del rumore attorno alla forma del corpo
Sto utilizzando il Kinect con Microsoft Kinect SDK di Microsoft per farlo. Con l'aiuto della profondità, lo sfondo viene filtrato e otteniamo solo l'immagine della persona.
Questo è piuttosto semplice da fare, e possiamo trovare il codice che lo fa ovunque su Internet. Tuttavia, il segnale di profondità è rumoroso e otteniamo pixel che non appartengono alla persona che viene visualizzata.
ho applicato un rilevatore di bordo per vedere se era utile, e attualmente ottenere questo:
Ecco un altro senza rilevamento di fronte:
La mia domanda è: In che modo posso liberarmi di questi pixel bianchi rumorosi intorno alla persona?
Ho provato le operazioni morfologiche, ma alcune parti del corpo sono state cancellate e lasciano ancora dei pixel bianchi dietro.
L'algoritmo non deve essere in tempo reale, posso solo applicarlo quando premo il pulsante 'Salva immagine'.
Edit 1:
ho solo cercato di fare sottrazione di fondo con le cornici più vicini al confine forma. I pixel singoli che vedi sono tremolanti, il che significa che è un rumore e posso facilmente liberarmene.
Edit 2:
Il progetto è ormai finita, e qui è quello che abbiamo fatto: calibrazione manuale del Kinect utilizzando il driver OpenNI, che fornisce direttamente l'immagine a infrarossi. Il risultato è davvero buono, ma ogni calibrazione è specifica per ogni Kinect.
Quindi, abbiamo applicato un po 'di trasparenza sui bordi e il risultato è davvero bello! Non posso fornire immagini, comunque.
È possibile postare l'immagine prima di applicare il rilevatore di bordi? – misha
L'ho appena aggiunto. – wormsparty
puoi condividere il codice – ravithejag