Tengo un robot de juguete rastreado y lo controlo con un iPhone. El robot emite una transmisión de cámara en vivo de un tamaño de fotograma conocido y lo estoy mostrando en UIImage.
Agregué un puntero láser al robot y lo arreglé junto al eje del robot. Estoy tratando de detectar el punto del puntero láser en la imagen y así tratar de calcular la proximidad del objeto. Si el punto láser está lejos del centro, sé que el robot está pegado a la pared y necesita retroceder.
¿Cómo puedo detectar un punto de píxeles blancos y rojos brillantes en una pantalla? Una solución sería muestrear el color de los píxeles dentro de un cierto radio del centro y detectar un color brillante de una gota. ¿Alguien puede sugerir un algoritmo para esta actividad?
Otro enfoque sería realizar un seguimiento de la posición promedio del punto en los últimos fotogramas, reduciendo así el radio estimado. Si no hay un punto dentro de una región predefinida, la región de búsqueda puede expandirse.
Finalmente, quiero poder enseñarle al robot a detectar la alfombra a su alrededor. La alfombra refleja un puntero láser de cierta manera, y quiero entender cuántos cuadros alrededor del robot tienen propiedades similares. Si sé dónde está el puntero láser en una pantalla, puedo recortar un pequeño rectángulo de esa imagen y compararlos entre sí. ¿Existe una manera eficiente de comparar varias imágenes pequeñas entre sí para comprender si sus siluetas coinciden?
Noté que el láser se refleja en las superficies brillantes, y la dirección de esta reflexión puede decirme algo sobre la orientación de la superficie en el espacio, de acuerdo con las leyes de refracción.
¡Gracias!