Bueno, ya cuentas con una cámara pero no sabes cómo empezar a rastrear la pelota o algún objeto en particular. No te preocupes, un buen inicio se puede realizar en Matlab. Una vez que hayas obtenido los resultados deseados puedes pasar el algoritmo a cualquier lenguaje deseado. Como esta página se enfoca más en el desarrollo de aplicaciones y mecanismos para la categoría de humanoides en la competencia mundial Robocup, es por eso que el objeto a buscarse será una pelota de tennis anaranjada. Si tienen cualquier duda sobre las reglas actuales de esta categoría las pueden bajar de esta liga: Reglas Robocup Humanoides 2008.pdf.
Espacios de color RGB y HSV
Como ya se ha mencionado la pelota es de color anaranjado, lo que significa que se debe de realizar algún tipo de filtro por formas, para detectar el círculo que representa el balón y por colores, para encontrar el anaranjado que pertenece al color de la pelota. En esta sección se explica a grandes rasgos los beneficios de cambiar de espacio de color entre RGB a HSV para lograr una mejor separación y detección de los colores. Si desean una descripción más detallada pueden visitar esta liga: HSV Colorspace.
Para poder entender lo que representa el espacio de color RGB imaginense una pantalla incolora y que puede ser iluminada por tres focos a la vez, uno rojo (R), uno verde (G) y uno azul (B). Si se enciende el primer foco la pantalla se ve roja, si se enciende únicamente el segundo la pantalla luce verde y con el tercero enciende azul. Si se encienden los tres focos al mismo tiempo la pantalla luce blanca y si se apagan luce negra. Ahora imagínense que le hablan al electricista y le piden que les ponga unos dimmers para poder controlar la intensidad de cada uno de los focos. Estos dimmers que consiguieron pueden variar de intensidad de 0 a 255, donde 0 es que el foco esta apagado y 255 significa encendido a su máxima potencia. Gracias a estos dimmers ustedes pueden representar cualquier color en su pantalla, ayudándose de la combinación de los tres focos (componentes R, G y B) y de la intensidad de cada uno de ellos. Al lado izquierdo se muestra una imagen que representa el espacio de colores en RGB a través de un cubo. Este espacio de color presenta sus ventajas y desventajas, pero lamentablemente una gran desventaja es el no poder encerrar un color en un espacio de numeros que representan a sus tres componentes R, G, B. Es decir para representar el color anaranjado se pueden dar los valores de 242, 145 y 47 a sus componentes, pero también si se selecciona 217, 103 y 0 da una tonalidad anaranjada y como pueden observar las tres componentes han variado sin un patrón (aparente). Entonces si se quiere establecer un algoritmo que sea capaz de detectar objetos de color amarillo, anaranjado, azul y verde se vuelve un problema realmente complejo, para esto existe el espacio de colores HSV. Este espacio intenta representar los colores de la forma en que un ser humano los identifica. Sus componentes son Hue, Saturation y Value, donde Hue representa los colores elementales. Saturation simboliza la intensidad del color y Value la obscuridad o luminosidad del color. Teniendo así un rojo establecido por un valor en hue y la intensidad del rojo siendo roco tenue o muy vivo lo da la saturación y la obscuridad del color lo da value podiendo obtener desde un negro hasta un rojo vivo. Para un mejor entendimiento vean la figura de la derecha, este cono representa el espacio de colores en HSV. Los valores de Hue típicamente son grados y los de Saturation y Value se dan en percentiles. Para una mejor visualización sobre el formato de HSV y RGB pueden visitar una página de conversión, esta página en particular maneja la entrada de RGB en hexadecimal.