Quiero codificar una aplicación para generar un mapa de imagen .
Escaneará una imagen y declarará áreas contiguas del mismo color como partes de la misma área de mapa de imagen.
Me imagino diciendo que el negro se usa para los bordes, para delinear áreas, y el azul marino se usa para el texto, por lo que debe ignorarse. Imagine un mapa de los EE. UU., con los estados delineados en negro con los nombres de los estados en azul marino y los estados coloreados en negro o azul marino.
¿Conoces alguna biblioteca que pueda ayudar con eso? Prefiero C/C++ o Python o Delphi, pero aceptaré cualquier idioma, solo para ver cómo se hace
Quizá si volvemos a su pregunta anterior : tiene un plano de planta coloreado, que ha convertido en un mapa de imagen, y ahora quiere saber en qué habitación está el cursor. En lugar de molestarse con el mapa de imagen intermedio, ¿por qué no? simplemente use javascript para determinar el color del píxel debajo del cursor en cualquier momento? Luego buscaría este valor rgb en una lista de colores de la habitación.
Como usted elige los colores del plano de planta, puede garantizar un color diferente para cada habitación. Si es necesario, las habitaciones del mismo color aparente pueden tener ligeras diferencias de rgb que apenas se notarán. Si el píxel debajo del cursor es texto negro, puede probar con algunos píxeles a cada lado.
Si está dispuesto a aceptar rectángulos simples, en lugar de polígonos complejos, en su mapa de imágenes, una posible ruta de investigación es usar ImageMagick para determinar el tamaño y la ubicación de un área coloreada. Por ejemplo, usando la imagen en su pregunta anterior y seleccionando el color de la habitación de la izquierda como valor hexadecimal rgb e97978
, puede ejecutar
convert https://i.stack.imgur.com/fp5Ff.jpg -fill white +opaque '#e97978' /tmp/out.png
para obtener solo esa habitación coloreada sobre un fondo blanco:
Si agrega la -trim
opción al final, obtiene la imagen recortada:
que es el cuadro delimitador de la habitación, pero si lo usa identify
en la imagen resultante, no solo tiene el tamaño de este cuadro (196x179), sino también su posición superior izquierda (+111+53) en la imagen original más grande:
$ identify /tmp/out.png
/tmp/out.png PNG 196x179 900x291+111+53 ...
Entonces, si puede colorear cada habitación de manera diferente, y preferiblemente no usar jpg con pérdida que difumina los colores, podría estar más cerca de un algoritmo automatizado.
Mawg dice que reincorpore a Monica
Mawg dice que reincorpore a Monica
meuh
Mawg dice que reincorpore a Monica
context.getImageData(X,Y, ...)
la segunda imagen?meuh