Objeto de seguimiento por color con Python y openCV (1 / 1 paso)

Paso 1:

La imagen muestra el resultado de todas las medidas: calibración, a través de la detección, binarizing y ribete, transformación de perspectiva y comparando con una imagen de referencia.

Detección del marcador y mantener el enfoque mientras se mueve, realiza seguimiento de color liso. Es 50 x más rápido que la rutina de interpretación completo. 'caja de openCV' se utiliza para obtener una más precisa centroide (contornos a veces son difíciles cuando las condiciones de luz son un poco sluggy). Un recuadro también produce el ancho del marcador, que se utiliza para mantener el enfoque. En la segunda imagen se muestra la diferencia por una línea roja para los contornos que encuentra y una línea verde que representa el cuadro delimitador.

La rutina de la gama utiliza un valor constante para multiplicar el ancho por. La constante se determina en un rango conocido y dado que todos los marcadores tienen el mismo tamaño, el ancho en píxeles puede ser utilizado para que van a través de la imagen de la cámara. Que van no es necesario ajustar la posición y dirección, pero puede ser utilizado para mantener la distancia. (Así: más diversión).

La rutina de Heads-up display también muestra las coordenadas del centro. También solo por diversión (aunque quién sabe)

La secuencia de comandos utiliza una rutina de tiempo de espera para pitones 'time.sleep ()' es confiable sólo en intervalos muy pequeños y precisos tiempos de espera son necesarios para permitir a vueltas exactas. Imágenes se tomó como variable global (ahorra un montón de escribir y un poco pequeño de memoria)

Se ajustan las lecturas mientras se mueve por tiempos de espera. La rutina produce lecturas de más de un centenar en un par de segundos, creando una sobrecarga del servidor Web y memoria de Pi

Después de comparar la muestra el guión obliga a una espera para la última imagen conseguir el siguiente marcador en la memoria. Por último la rutina de detección completo se utiliza para comparar la muestra con las imágenes de referencia. Esta rutina detecta el rectángulo interior blanco, que se muestra en la tercera imagen, un rectángulo azul.

Los pasos son muy sencillos: encontrar el menor contorno rectangular, inclínela, ajustar perspectiva por deformación, lo binarize y comparar con las imágenes de referencia en el disco.

La secuencia de comandos puede ampliarse fácilmente con todo tipo de rutinas, como una rutina de la siguiente línea. La rutina de evasión (rotura cuando se encuentra un obstáculo mientras se mueve hacia un marcador de la emergencia) aún tiene que ser rellenado.

Un buen ejemplo de uso de seguimiento de objetos por el color en código puede encontrarse en:

http://www.roborealm.com/Tutorial/color_object_tracking_2/slide010.phpVery

buenas instrucciones sobre la detección de objetos y color en Python y openCV pueden encontrarse en el sitio de Adrian Rosebrock en:

http://www.pyimagesearch.com/

Artículos Relacionados

Ciclo de un LED RGB por todo el espectro de color con un Raspberry Pi 2 y cero

Ciclo de un LED RGB por todo el espectro de color con un Raspberry Pi 2 y cero

Actualización de notas Jueves, 25 de febrero de 2016 : He mejorado el programa Scratch y rediseñado mi instructable.Hola chicos, con este proyecto que quise utilizar Scratch para un LED RGB por todo el espectro de color.Hay una carga de proyectos hac
Hackear una WiFi Pan-Tilt cámara $30 - control de Video, Audio y Motor con Python

Hackear una WiFi Pan-Tilt cámara $30 - control de Video, Audio y Motor con Python

En este Instructable, usted aprenderá cómo interceptar los video, micrófono y controles de lo $30 Kaicong SIP1602 inalámbrica pan-tilt cámara en Windows, Linux o OSX! Todo se enrolla cuidadosamente en secuencias de comandos de python; puede utilizar
Cómo empezar con python.

Cómo empezar con python.

Así que creo que a ti mismo, hombre ésos codificación dudes seguro que molan! ¿O tal vez eres un gurú de codificación y quiero aprender otro idioma para presumir en el sótano de las madres? Bien de cualquier manera has seleccionado el idioma correcto
Intel Edison la estación de sol (UV y temperatura) con Python #IntelMakerMx

Intel Edison la estación de sol (UV y temperatura) con Python #IntelMakerMx

Vamos a utilizar a nuestro Edison de Intel con un escudo de Arduino y un escudo de arboleda para conectar tantos sensores como quieras.GitHub: https://github.com/Kurtz1993/iot-roadshowPaso 1: Comunicarse con nuestro Edison a través de una serie COM E
Llavero de Emoji para impresión 3d de uno o dos colores con movimiento mecánico

Llavero de Emoji para impresión 3d de uno o dos colores con movimiento mecánico

impresión 3D obtiene divertido y difícil al tratar de hacer movimiento en el objeto impreso de un solo paso. Además si se divide el modelo en dos colores mejorarán los resultados pero también complejidad hará porque cuando hay dos colores en la misma
Construcción de robots con Python y frambuesa Pi

Construcción de robots con Python y frambuesa Pi

el objetivo de este tutorial es ayudarle a comenzar a programar con Python para controlar tus robots Arduino con un Raspberry PI. Revisaremos los aspectos básicos como instalación y algunos ejemplos simples para controlar tu robot desde una GUI de Py
Plotly con Python

Plotly con Python

Recientemente, me topé con Plotly, un hermoso sistema de visualización de datos en línea en virtud de un artículo de hace. Es redundante decir que hay varios artículos que muestran la utilización de Plotly para Arduino, Raspberry Pi, etcétera.Desafor
Inalámbrico de temporizador de luz de Navidad con Python y frambuesa Pi

Inalámbrico de temporizador de luz de Navidad con Python y frambuesa Pi

actualización 14/01/2014: gracias a todos los que votaron por este proyecto en el concurso de Hacking de Hardware! Esperando a mi nueva pluma del fabricante.¿Actualización 31/12/2013: en busca de una versión más avanzada de este proyecto? Echale mi n
Control de Arduino con python basado en web API (No php)

Control de Arduino con python basado en web API (No php)

En esta guía le mostrará cómo controlar el dispositivo arduino de una página web! Luego, te voy a mostrar cómo controlar tu arduino desde tu dispositivo móvil e incluso crear un API basado en web para controlar tu arduino desde su página web con otro
Uso de XML en la frambuesa Pi con Python

Uso de XML en la frambuesa Pi con Python

Este Instructable discutirá el uso de XML en las aplicaciones de la Raspberry Pi. Paso uno cubre lo que es el formato de las estructuras de datos y XML. Paso dos cubrirá construcción y análisis de XML en Python y paso tres muestra cómo se utiliza XML
Portapapeles comunicación PC ↔ Pi con Python

Portapapeles comunicación PC ↔ Pi con Python

Yo normalmente uso mi frambuesa Pi en un escritorio compartido de windows. Comparto también una unidad de red con el Pi. Esto es genial, pero sigo teniendo la molestia del portapapeles en el PC no se refleja en la Pi. Puede haber aplicaciones de plat
Archivo con Python programación

Archivo con Python programación

Una herramienta útil en muchos programas automatizados es la capacidad de abrir archivos, editar y guardar los resultados. En muchos casos datos en bruto se exportan por el dispositivo de recolección de datos en un archivo de texto. ¿Cómo se puede cr
Caja de Pandora - jugador de una Radio por Internet con un Pi de frambuesa!

Caja de Pandora - jugador de una Radio por Internet con un Pi de frambuesa!

Enchufe en este reproductor de radio de internet y escuchar sus emisoras favoritas de Radio Pandora. Seis pulsadores controlan la música, mientras que una pantalla LCD proporciona información sobre la canción, artista y otra información útil. Todo es
LinkIt uno - comunicación con python

LinkIt uno - comunicación con python

Hola compañeros creadores!Nueva Junta de MediaTek, LinkIt uno ofrece gran potencial - GPS, WiFi, Bluetooth, GSM, extensibilidad con gpio, procesador fuerte y mucho más. Pero a veces necesita la comodidad de python para analizar archivos o gráficos de