Estoy desarrollando una aplicación de visión que utiliza la tabla de colores a continuación y la cámara para extraer el color de cada parche en la tabla. Para hacer eso, primero tengo que detectar el área del gráfico en una imagen y hacer coincidir el área con la plantilla existente que contiene ubicaciones de parches.
Mi pregunta: necesito detectar el área del parche de color reconociendo las cuatro esquinas del gráfico. Puede ver las esquinas que indican los pequeños rectángulos insertados en la imagen a continuación. Sé que una forma de hacerlo es permitir que el usuario seleccione esas esquinas haciendo clic en él. Pero, ¿hay alguna forma de detectar automáticamente cuatro esquinas de la imagen?
image-processing
Tae-Sung Shin
fuente
fuente
Respuestas:
Puede alojar líneas de hough para detectar el área de color.
fuente
Cada conjunto 2D de un componente de color (RGB, et.al.) es bastante alto y distintivo. Por lo tanto, podría intentar usar un FFT 2D complejo de cada componente de color para determinar la escala y el desplazamiento de la imagen de la foto frente a la de una imagen de referencia. Luego, utilícelos para ajustar las coordenadas medidas / conocidas de las esquinas y / o parches en la imagen de referencia para producir coordenadas en la foto.
Es posible que deba medir de primera mano algunas coordenadas en una imagen de referencia utilizando un editor de mapas de bits.
fuente
Como primer paso, eliminaría todo el desorden con gris y texto. Comenzando por los cuatro lados, me detendré hasta que la mayoría de los píxeles sean de un color "gris" único.
Esto te dejará solo con el tablero de damas que consta de diferentes colores. Esperas unos 22x12, unos 264 colores.
Un método más simple sería aplicar un algoritmo de palatalización más simple. Si tuviera que traducir esto en una imagen GIF, aplica la cuantización del color con cada grupo de colores representado como el color del centroide.
Esto sería específicamente fácil en su caso porque la fuente ya es un paladar de algún tipo y puede hacer una suposición decente para comenzar.
Mira esto:
NeuQuant: http://members.ozemail.com.au/~dekker/NEUQUANT.HTML
Cuantización del color de Octree: http://www.cubic.org/docs/octree.htm . Mira esto también.
Estas son solo algunas referencias; pero encontrará código listo para usar en la mayoría de las bibliotecas que usan dichos formatos de imagen. (BMP, PNG y GIF admiten tales representaciones). También revise libpng y libjpeg para algunas implementaciones rápidas.
fuente
¿Por qué no buscar los límites del gráfico, en lugar de las esquinas? Puede intentar usar un detector de bordes y luego encontrar líneas rectas con la Transformación de Hough.
fuente