Kinect restituisce una mappa di deformazione della matrice che rappresenta la distanza di qualsiasi superficie del sensore e seguendo lo pinhole camera model è possibile allineare ogni misura di profondità con un valore RGB corrispondente. Prenderò in considerazione che sai già come correlare ogni pixel della matrice di profondità con il suo X, Y, Z nello spazio e il suo valore RGB. In caso contrario, sarà necessario eseguire further research e capire come viene eseguita la correlazione stereo tra il sensore di profondità e la telecamera RGB.
Hai fatto due domande completamente diverse qui. Il primo è facilmente risolvibile con alcune nozioni di geometria di base, ma è necessario risolvere prima il secondo per trovare la posizione dell'oggetto sullo spazio.
Esistono diversi approcci per trovare gli oggetti dai colori vivaci. Se il tuo sensore registra una scena statica, è possibile utilizzare Background Subsctraction. Questo ti produrrà un'immagine binaria che rappresenta i pixel con valori diversi da un modello di sfondo precedentemente addestrato. Poiché i tuoi oggetti avranno colori più luminosi rispetto allo sfondo, puoi applicare semplicemente un Thresholding Segmentation. Basta convertire l'RGB in un'immagine HSL e cercare valori di luminanza più alti. Ci sono molti altri metodi, ricerca per loro se quelli non risolvono il tuo problema. Seguendo entrambi i metodi restituirai un'immagine binaria con BLOB. Puoi usare il centro di quei blob come coordinate matriciali dei tuoi oggetti dai colori vivaci.
Con 3 centro blob A 'B' e C' si sarà in grado di trovare il piano che si sta cercando, come rappresentato nella foto qui sotto:
Spiegazione: Un piano può essere rappresentato come un punto (posizione) e un normale (orientamento). Considerando che tutti i tuoi oggetti saranno esattamente sull'aereo che stai cercando di trovare, tutto ciò di cui hai bisogno sono 3 punti, A, B, C che rappresenteranno un triangolo all'interno di quel piano. Questo triangolo normale è uguale a (A - B) x (C - B) - qui x rappresenta il prodotto incrociato - ed è lo stesso del piano. Quindi, il tuo aereo sarà uno di quei 3 punti e quel triangolo normale. Se le dimensioni dell'oggetto sono significative, dovrai prenderle in considerazione per definire la posizione del tuo piano.
fonte
2012-02-08 16:50:45
questa una grande risposta, hai fatto molto kinect? –
Bene. Ho fatto alcuni lavori con esso e ho fatto anche alcuni progetti di computer vision. Buona visione! –
Voglio creare un gioco di pong usando i palloni per controllare i paddle. –