Cómo realizar el seguimiento de tu Robot con OpenCV (17 / 28 paso)

Paso 17: OpenCV: seleccionar tu Color

 #Slope dx = cxAvg - tX dy = cyAvg - tY #Quad I -- Goodif tX >= cxAvg and tY <= cyAvg: rads = atan2(dy,dx) degs = degrees(rads) degs = degs -90#Quad II -- Goodelif tX >= cxAvg and tY >= cyAvg: rads = atan2(dx,dy) degs = degrees(rads) degs = (degs *-1) #Quad IIIelif tX <= cxAvg and tY >= cyAvg: rads = atan2(dx,-dy) degs = degrees(rads) degs = degs +180#degs = 3elif tX <= cxAvg and tY <= cyAvg: rads = atan2(dx,-dy) degs = degrees(rads) +180#degs = 4 
 180 181 182 183 184 185 186 187 188 189 

Esta línea define qué color usted está buscando, específicamente, los dos conjuntos de valores: 130, 170, 110, 190, 190, 200.  Estos dos valores establecen el límite inferior y el límite superior del color que usted está buscando para encontrar.  La razón que utilizamos límites superior e inferior, que llamaremos a los umbrales de color, es que nuestro robot se mueva a través de diferentes luces.  Diferentes fuentes de luz tienen una tendencia a cambiar cómo la cámara web lee el color.

El formato de color que estamos utilizando es HSV, que soportes para hue, saturación, valor.  Más tarde, probablemente voy a escribir código para seleccionar el robot dentro de nuestro programa actual, pero por ahora yo uso el Gimp y el siguiente método:

  1. Configurar su webcam la en el área que va a utilizar, al igual que usted está listo para controlarlo.
  2. Ejecute el programa de webcam conectado en el paso 10.
  3. Mientras que el programa de la webcam es viendo tu robot, presione Ctrl + Impr Pant
  4. Abre Gimp.
  5. Golpear Ctrl + V para pegar la captura de pantalla en gimp.
  6. Ahora, encontrar la herramienta Selector de Color.
  7. Seleccione el color principal de tu robot.
  8. Ahora haga doble clic en el cuadrado de color en la barra de herramientas.
  9. Debe abrirá una ventana con la información del color sobre el color que elegiste, tu robot.
  10. Ahora, los tres números que aparecen deben estar cerca de lo que necesitamos.  Lamentablemente, tenemos que convertir de escala numérica de la HSV del Gimp a escala numérica de HSV de OpenCV.  Verás, rango de valores HSV en Gimp es H = 0-360, S = 0-100 y V = 0-100.  En OpenCV, H = 0-180, S = 0-255, V = 0-255.  Por lo tanto, alguna conversión debe tomar lugar.
  11. De mi selección terminó con números de Gimp de H: 355, S:50 y V:61.  Que podía obtener de todo lujo y calcular los números correctos, pero figura 180 (OpenCV) es la mitad de 360, así que para mi H sólo dividido por dos: 177. Los otros dos que supongo que poco a poco.  Dobló y añadió 25, S: 125 y V: 147.
  12. Al final, esto me dio mediados números.  Pero quería un umbral superior e inferior, así que tomó cada número y resta 20 para darme un más bajo y agregó 20 para darme un superior.
  13. El resultado para mi robot fue:
 #Convert float to int targetDegs =int(math.floor(degs)) #Variable to print the degrees offset from target angle. strTargetDegs =" "#Put the target angle into a string to printed. strTargetDegs =str(math.floor(degs)) #///End Finding Target Angle//////////////////////////////////// 
 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 

Voy a intentar un selector de color de código en el programa para hacer esta cosa entera maldita un juego de niños.

Si desea leer más, dos buenas entradas sobre desbordamiento de pila.

  1. Elección de HSV
  2. Búsqueda de HSV en imagen.

Artículos Relacionados

Aire suave Robots con LEGOs

Aire suave Robots con LEGOs

este proyecto es un seguimiento de mi proyecto Air-Powered suave pinza robótica, basado en una investigación por el grupo de Whitesides de la Universidad de Harvard. He conseguido muchos comentarios positivos en ese proyecto, pero una repetida pregun
Línea básica siguiente Robot con Arduino

Línea básica siguiente Robot con Arduino

07/09/2015Han pasado unos años desde que publicamos inicialmente básica línea siguiente Robot con Arduino tutorial, y parece que mucha gente encuentra útil que debemos publicar una actualización que funciona actual de las bibliotecas de Arduino, incl
Robots con un Beat

Robots con un Beat

he visto una Charla Ted sobre robots con un sentido de sentimiento. Guy Hoffman muestra su nuevo producto, un robot que "sentiría el ritmo de la música" de un iPod.I acoplado decidió que haría mi propia. Hice una versión rudimentaria de su robot
Cómo hacer un teléfono móvil y un ordenador controlado 3D impreso Robot con Arduino - IoBot.

Cómo hacer un teléfono móvil y un ordenador controlado 3D impreso Robot con Arduino - IoBot.

Si está buscando una manera de controlar un Arduino basado en dispositivos, esta instrucción le mostrará cómo hacerlo mediante la construcción de robots sencillos.La IoBot puede controlarse mediante la aplicación móvil y ordenador vía LAN o Cable USB
Hacer un arrastre zombi Robot con patas cortadas

Hacer un arrastre zombi Robot con patas cortadas

Somos todo amor zombies y robots, dos de las cosas que son más probables ser el deshacer un día. Permite ayudar a cosas a lo largo con la construcción de un zombie espeluznante pequeño robot.Mi objetivo con este Instructable es tomar una muñeca y (re
Hacer un Robot con cámara Color reconocimiento

Hacer un Robot con cámara Color reconocimiento

Hola! Esto es para el grupo de 18 años.Este instructivo le guiará a través de un robot con reconocimiento de color usando una cámara y un servo. El robot que va a construir tiene servos para los brazos también, pero no son necesarios. Use su imaginac
Inteligente Robot con control de voz y visión

Inteligente Robot con control de voz y visión

Cómo hacer un robot inteligente con visión artificial, control de voz, síntesis de voz y más, usando tu teléfono Android!Paso 1: partesHardware1. un teléfono Android que soporte OTG con Android KitKat o posterior instalado. Los teléfonos más modernos
Self Balancing Robot con LCD

Self Balancing Robot con LCD

La versión modificada de mi mpu6050 robot de equilibrio más estable con LCD y ejemplo de conectar 2 i2c en el mismo pinVideo 1Video 2Paso 1: Paso 1: tablero de arranque de controlador dual de motor ◾L298NTablero de arranque de controlador dual de mot
Chasis de Robot con en Orugas Impresas 3D

Chasis de Robot con en Orugas Impresas 3D

3D impreso Robot tanque Chasis.(Usted puede encontrar instrucciones más abajo)Este es el primer paso para la construcción de un robot tanque (por las orugas, no tiene armas). De diseño abierto y con el objetivo de pueda ser utilizado en aplicaciones
Sin hilos controlar un Robot con Arduino y módulos RF!

Sin hilos controlar un Robot con Arduino y módulos RF!

/*Edición 05/05/2016Hola chicos, he estado ocupado con la Universidad y no podía responder a comenta. La mayoría de ustedes quería el código y esquemas, hechas un poco mejor por lo que he hecho los esquemas en Eagle 7.2.0 y subido todo en Github.Aquí
Traje de robot con LED

Traje de robot con LED

las razones de por qué yo quería hacer un robot traje son complejas. Para hacer el cuento largo, quería un traje que podría utilizar para entretener a mis compañeros mientras ellos cuidadosamente preparaban para los exámenes finales. Pero no quería c
2 ruedas Self Balancing Robot con Arduino y MPU6050

2 ruedas Self Balancing Robot con Arduino y MPU6050

2 ruedas Self Balancing Robot con Arduino y MPU6050.Usar Arduino como el controlador y sensor de MPU6050 para controlar el equilibrio. Sólo añadir un modulo Serial Bluetooth simple y utilizar una aplicación de controlador Serial de Bluetooth para el
Mi noveno proyecto: Brazo Robot con Joystick escudo

Mi noveno proyecto: Brazo Robot con Joystick escudo

Aunque es ideal controlar el brazo del robot con la computadora o teléfono móvil, creo que con joystick también es fresco, por lo que has comprado un joystick escudo y hacer un nuevo proyecto. Este joystick escudo es compatible con Arduino. También s
Micro Robot Con Adafruit Gemma

Micro Robot Con Adafruit Gemma

En este instructable les muestro como construir un pequeño robot con el micro controlador de Adafruit se llama Gema. Solamente mostraré como armarlo y controlar los motores, les dejo la tarea de colocarle algún sensor para hacerlo siga la luz o cualq