J'ai un robot robot suivi et je le contrôle avec un iPhone. Le robot génère un flux de caméra en direct d'une taille d'image connue et je l'affiche sur UIImage.
J'ai ajouté un pointeur laser au robot et l'ai fixé le long de l'axe du robot. J'essaie de détecter le pointeur du pointeur laser sur l'image et donc de calculer la proximité de l'objet. Si le point laser est loin du centre, je sais que le robot est collé contre le mur et doit reculer.
Comment puis-je détecter un point de pixels lumineux blanc-rouge sur un écran? Une solution consisterait à échantillonner la couleur des pixels dans un certain rayon du centre et à détecter une couleur vive de blob. Quelqu'un peut-il suggérer un algorithme pour cette activité?
Une autre approche serait de garder une trace de la position moyenne du point sur les dernières images, réduisant ainsi le rayon d'estimation. S'il n'y a pas de point dans une région prédéfinie, la région de recherche peut être étendue.
Enfin, je veux pouvoir apprendre au robot à détecter les tapis autour de lui. Le tapis reflète un pointeur laser d'une certaine manière, et je veux comprendre combien de cadres autour du robot ont des propriétés similaires. Si je sais où se trouve le pointeur laser sur un écran, je peux découper un petit rectangle de cette image et les comparer les uns aux autres. Existe-t-il un moyen efficace de comparer plusieurs petites images les unes aux autres pour comprendre si leurs silhouettes correspondent?
J'ai remarqué que le laser est réfléchi sur des surfaces brillantes, et la direction de cette réflexion peut me dire quelque chose sur l'orientation de la surface dans l'espace, conformément aux lois de la réfraction.
Je vous remercie!