Pregunta

Me gustaría rastrear un color en un conjunto de imágenes. Por esta razón, uso el algoritmo de umbral constante mencionado enIntroducción a los robots móviles autónomos. Este método simplemente marca todos los píxeles que se encuentran entre un umbral mínimo y máximo de rojo, verde, azul (o tono, saturación, valor en mi caso).

Mi problema es que, aunque HSV es menos sensible a las condiciones de luz cambiantes, todavía me gustaría establecer los umbrales del programa para minimizar el número de falsos positivos y falsos negativos. En otras palabras, el algoritmo aseguraría que solo un conjunto dado de píxeles esté marcado al final, por ejemplo, un rectángulo en una imagen de calibración.

Sé que el problema es una búsqueda en un espacio de parámetros de 6 dimensiones y podría encontrar posibles soluciones, pero estoy buscando la opinión y experiencia de otros programadores sobre este tema.

Si eso importa, trato de implementarlo en C ++ con Opencv.

¿Fue útil?

Solución

Por lo que yo entiendo la pregunta Está buscando un procedimiento para calibrar 6 umbrales (min y máximo para cada uno de los canales HSV) a partir de una imagen de calibración que contiene su marcador de seguimiento. Para lograr esto lo haría:

  1. primero manualmente delinear la región, en la imagen de calibración, donde aparece el marcador
  2. Calcule los histogramas de esa región, uno para cada uno de los canales HSV
  3. selecciona el umbrales min y max a los percentiles de histograma 0.05 y 0.95 respectivamente

No usar los valores mínimos y máximos del histograma, sino que sus percentiles 0.05 y 0.95 ayuda a que la medida sea más robusta al ruido.

EDITAR:

Una modificación del segundo paso: Si desea minimizar el error, puede establecer un normilizado histograma del marcador y un normalizado Histograma del entorno (esto puede ser 2 imágenes separadas) y reste el último de la primera. El histograma del marcador resultante tendrá valores de píxeles de fondo atenuados. Esto afectará los valores de los percentiles mencionados anteriormente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top