Ho un giocattolo robot cingolato e lo controllo con un iPhone. Il robot emette un feed live della telecamera di dimensioni fotogrammi note e lo sto visualizzando su UIImage.
Ho aggiunto un puntatore laser al robot e l'ho riparato lungo l'asse del robot. Sto cercando di rilevare il punto del puntatore laser sull'immagine e quindi provare a calcolare la vicinanza dell'oggetto. Se il punto laser è lontano dal centro, so che il robot è bloccato contro il muro e deve eseguire il backup.
Come posso rilevare un punto di pixel bianco-rossi luminosi su uno schermo? Una soluzione sarebbe quella di campionare il colore dei pixel entro un certo raggio del centro e rilevare un colore brillante blob. Qualcuno può suggerire un algoritmo per questa attività?
Un altro approccio sarebbe quello di tenere traccia della posizione media del punto negli ultimi pochi fotogrammi, riducendo così il raggio approssimativo. Se non ci sono punti all'interno di un'area predefinita, l'area di ricerca potrebbe essere espansa.
Infine, voglio essere in grado di insegnare al robot a rilevare il tappeto attorno ad esso. Il tappeto riflette un puntatore laser in un certo modo e voglio capire quanti telai attorno al robot hanno proprietà simili. Se so dove si trova il puntatore laser su uno schermo, posso ritagliare un piccolo rettangolo da quell'immagine e confrontarli tra loro. Esiste un modo efficace per confrontare più piccole immagini tra loro per capire se le loro sagome corrispondono?
Ho notato che il laser è riflesso da superfici lucide e la direzione di questo riflesso potrebbe dirmi qualcosa sull'orientamento della superficie nello spazio, in conformità con le leggi di rifrazione.
Grazie!

