X

Convertir imágenes a vector

Hace algún tiempo, las mesas digitalizadoras eran la salida para vectorizar mapas impresos, luego llegó el escáner, aunque la tarea no solo se aplica a mapas escaneados sino otros que fueron convertidos a imagen o pdf y que no contamos con el formato vector.

El procedimiento que voy a mostrar es usando Microstation Descartes, pero lo mismo se puede hacer cualquier otro programa: AutoDesk Raster Design (Antes CAD Overlay), ArcScan, Manifold GIS (Business Tools), recuerdo que por mucho tiempo lo hice con Corel Draw.

1. La imagen

Hay algunos factores que influyen para que sea posible la vectorización sin menores dolores de cabeza.  Entre estos el formato de imagen, un png o tiff dará mejores resultados, mientras que un jpg es casi imposible; también influye resolución a la que fue exportada, pues si fue convertida desde el módulo de impresión o exportación, normalmente tendría una escala asociada al tamaño de papel, entre mayor el tamaño del papel se podría esperar una mejor resolución o al menos mejores condiciones que un simple print screen.

El ejemplo que voy a usar es un mapa catastral 1:1,000 que fue exportado desde el módulo de impresión de Microstation, a una hoja 24”x36”, en formato tiff.

2. La georeferencia

Un mapa como este es fácil de georeferenciar, pues tiene coordenadas en el margen. He dibujado los puntos usando el comando “place point”, e ingresando en el keyin la coordenada en la forma “xy=coordenadaX, coordenadaY”, esos son los puntos en azul de la imagen inferior.

Luego he llamado la imagen de referencia, colocándola un poco fuera de esos puntos.  Después he colocado los mismos puntos en diferente color, intersecando mediante las líneas verdes, siempre usando un grosor exagerado para que sean visibles.  Y finalmente usando “edit, warp” desde el raster manager, he aplicado los cuatro puntos de control tal como se ve en la figura.  Ahora debería poder vectorizar a escala.

Aunque Microstation V8i soporta llamar un archivo pdf como imagen y este puede georeferenciarse con el procedimiento anterior, el proceso de vectorización no aplica pues requiere que tenga derechos de escritura. Será necesario cargarlo, y guardarlo como imagen (botón derecho, save as…).

3. La vectorización

Estoy utilizando Microstation Descartes V8i.  Aunque esto funciona igual con versiones anteriores.

Activar las herramientas de DescartesPara ello hacemos “tools, raster, descartes raster edit” y eso nos despliega una barra que contiene las herramientas básicas para  tratamiento de imágenes.

Vamos a hacer el ejercicio en la manzana 15 para explicar los garabatos que hay que hacer:

Seleccionar la máscara.  El primer ícono permite crear máscaras, a partir de criterios, en este caso usaré los colores, indicando que deseo agregar el naranja a la máscara.  Hay que acercarse al centro de la línea, y seleccionar un cuadro en la zona que el color se ve plano.  Para configurar el color que se desea visualizar la máscara, se hace con la opción “color mask dialog” En mi caso he elegido color verde.  También es posible crear varias máscaras y guardar la configuración con formato .msk

Inmediatamente lo seleccionado en la máscara cambia al color indicado (verde).  También se pueden agregar más colores a la misma máscara, o sustraerlos.

Vectorizar círculos.  Vamos a construir los círculos que se ven en la numeración de manzanas, para esto nos solicita un radio y luego solo hay que tocar la línea de cada uno de los círculos.  Super simple, he usado un color magenta y grosor suficiente para asuntos visuales.  Hay que especificar un máximo de ancho de línea, eso se hace midiendo una distancia que supere el ancho de línea en la imagen.  Para mejor control es adecuado indicarle que vaya borrando lo vectorizado de la imagen.

La Normalización.  Para evitar que se hagan más vértices por causa del pixeleado, se asigna un factor de normalización.  El ejemplo es uno no normalizado, vean como las líneas se ven afectadas por el pixeleado.

Vectorizar linderos con topología.  Ahora quiero digitalizar los linderos, si hiciera por separado una máscara para linderos de manzana tendría el problema que no tendrían limpieza topológica en los nodos de linderos internos.  Para ello agrego a la máscara el color naranja y el color negro, luego toco los vectores por separado.  La señal es que todos se colocarán en el color de la máscara, luego solo se tocan usando la opción "convert lines

Simple, ya está.  Vean el detalle ampliado, que los nodos han sido reconocidos manteniendo coincidencia topológica en los vértices, los nodos se pueden almacenar como archivo de ofrmato .nod.  Se puede elegir el cambio de color o nivel cuando se desee, es lo que he hecho para separar el lindero de manzana del predio aun trabajando con una sola máscara.

Convertir texto. Para ello hay otras herramientas, que permiten elegir texto horizontal, girado, múltiple, entre otros,aplicando OCR.  Allí mismo está para convertir bloques (cells).

Otras opciones de vector.  Una vez aplicada una máscara, entre las tareas que se pueden aplicar están:

4. Convertir líneas individualmente
5. Convertir toda una zona enmarcada en un cuadro
6. Convertir todos los objetos conectados en el mapa
7. Construir curvas de nivel (contour), requiere estar en una archivo de semilla 3D.
8. Construir círculos
9. Simplificar vectores, esto es para cadenas de líneas que tienen demasiados segmentos

La precisión.  He medido la distancia del frente del predio número 2, y me ha dado 28.9611 metros, el original era de 29.00, vectorizarlo a pie hubiera dado igual, pero más lento, con mesa digitalizadora hubiera sido peor.  En esto de la precisión hay que considerar varios factores, como la calida
d del escaneo, si la hoja no estaba deteriorada, la escala del mapa, la calidad del pixeleado y sobre todo la georeferenciación del inciso 2 de este post.

Vectorización Masiva.

Si se tuviera una imagen a dos colores, o se tiene algo de prisa es posible hacer vectorización masiva, aunque para ello hay que tener algunos aspectos en cuenta:

  • Si el mapa contiene solo linderos, una vez hecho pruebas de normalización podría realizarse de forma simple.
  • Si el mapa tiene textos, lo ideal es convertir primero estos, luego con las herramientas de limpieza de imagen eliminar los sucios sobrantes
  • Si es un escaneo a colores, con un escaneo aceptable, como una hoja cartográfica 1:50,000, es posible hacerlo por colores, y haciendo máscaras con nombres útiles (curvas de nivel, edificios, carreteras, cuadrícula, etc) para poder aplicarlo de manera uniforme a diferentes imágenes. 
  • Cuando se tiene hojas continuas, es preferible llamarlas ambas, hacer ajustes posibles por que empalmen y vectorizar teniendo las diferentes hojas seleccionadas.
  • Es recomendable hacer supervisión posterior, sobre todo en los empalmes y zonas de mucha cercanía de líneas.
geofumadas: Editor de Geofumadas
Related Post