En gráficos por computadora , el trazado de imágenes , la conversión de ráster a vector o vectorización de ráster es la conversión de gráficos ráster en gráficos vectoriales .
Fondo

Una imagen no tiene estructura: es simplemente una colección de marcas en papel, granos en película o píxeles en un mapa de bits . Si bien una imagen de este tipo es útil, tiene ciertas limitaciones. Si se amplía lo suficiente, aparecen sus artefactos. Los puntos de semitono , los granos de película y los píxeles se hacen evidentes. Las imágenes con bordes definidos se vuelven borrosas o dentadas. Véase, por ejemplo, la pixelación . Idealmente, una imagen vectorial no presenta este problema. Los bordes y las áreas rellenas se representan como curvas o gradientes matemáticos, y se pueden ampliar arbitrariamente (aunque, por supuesto, la imagen final también debe rasterizarse para su renderizado, y su calidad depende de la calidad del algoritmo de rasterización para las entradas dadas).
La vectorización consiste en convertir una imagen bidimensional en una representación vectorial bidimensional de la misma. No se trata de examinar la imagen e intentar reconocer o extraer un modelo tridimensional que pueda estar representado; es decir, no es un sistema de visión . En la mayoría de las aplicaciones, la vectorización tampoco implica el reconocimiento óptico de caracteres ; los caracteres se tratan como líneas, curvas u objetos rellenos sin atribuirles ningún significado. En la vectorización, se conserva la forma del carácter, por lo que los adornos artísticos permanecen.
La vectorización es la operación inversa a la rasterización , al igual que la integración lo es a la diferenciación . Y, como ocurre con estas otras operaciones, mientras que la rasterización es bastante sencilla y algorítmica, la vectorización implica la reconstrucción de la información perdida y, por lo tanto, requiere métodos heurísticos .
Las imágenes sintéticas, como mapas, dibujos animados, logotipos, imágenes prediseñadas y dibujos técnicos, son aptas para la vectorización. Estas imágenes podrían haber sido creadas originalmente como imágenes vectoriales, ya que se basan en formas geométricas o están dibujadas con curvas simples.
Las fotografías de tono continuo (como los retratos en vivo) no son buenas candidatas para la vectorización.
La entrada para la vectorización es una imagen, pero una imagen puede presentarse en muchos formatos, como una fotografía, un dibujo en papel o uno de varios formatos de archivo ráster . Los programas que realizan la conversión de ráster a vector pueden aceptar formatos de mapa de bits como TIFF , BMP y PNG .
El resultado es un archivo en formato vectorial . Los formatos vectoriales comunes son SVG , DXF , EPS , EMF y AI .
La vectorización puede utilizarse para actualizar imágenes o recuperar trabajos. Los ordenadores personales suelen incluir un programa de dibujo sencillo que genera un archivo de salida de mapa de bits. Estos programas permiten a los usuarios crear ilustraciones simples añadiendo texto, dibujando contornos y rellenándolos con un color específico. Solo se guardan los resultados de estas operaciones (los píxeles) en el mapa de bits resultante; las operaciones de dibujo y relleno se descartan. La vectorización puede utilizarse para recuperar parte de la información perdida.
La vectorización también se utiliza para recuperar información que originalmente estaba en formato vectorial pero que se ha perdido o ya no está disponible. Por ejemplo, una empresa puede haber encargado un logotipo a una empresa de diseño gráfico. Aunque la empresa utilizó un formato vectorial, es posible que la empresa cliente no haya recibido una copia de dicho formato. En ese caso, la empresa puede obtener el formato vectorial escaneando y vectorizando una copia impresa del logotipo.
Proceso


La vectorización comienza con una imagen.
Manual
La imagen se puede vectorizar manualmente. Una persona podría observar la imagen, realizar algunas mediciones y luego generar el archivo de salida a mano. Ese fue el caso de la vectorización de una ilustración técnica sobre neutrinos. La ilustración tiene algunas formas geométricas y mucho texto; fue relativamente fácil convertir las formas, y el formato vectorial SVG permite introducir el texto (incluso subíndices y superíndices) con facilidad.
La imagen original no tenía curvas (excepto el texto), por lo que la conversión es sencilla. Las curvas complican la conversión. La vectorización manual de formas complejas se puede facilitar mediante la función de trazado integrada en algunos programas de edición de gráficos vectoriales .
Si la imagen aún no está en un formato legible por máquina, entonces debe escanearse a un formato de archivo utilizable.
Una vez que se dispone de un mapa de bits legible por máquina, la imagen se puede importar a un programa de edición gráfica (como Adobe Illustrator , CorelDRAW o Inkscape ). A continuación, se pueden trazar manualmente los elementos de la imagen utilizando las funciones de edición del programa. Las curvas de la imagen original se pueden aproximar con líneas, arcos y curvas de Bézier. Un programa de ilustración permite ajustar los nodos de las splines para un ajuste preciso. La vectorización manual es posible, pero puede resultar tediosa.
Aunque los programas de dibujo gráfico existen desde hace mucho tiempo, los artistas pueden encontrar incómodas las funciones de dibujo a mano alzada incluso cuando se utiliza una tableta gráfica. En lugar de usar un programa, Pepper recomienda hacer un boceto inicial en papel. En lugar de escanear el boceto y calcarlo a mano alzada en la computadora, Pepper afirma: "Quienes dominan una tableta gráfica y un lápiz óptico podrían hacer los siguientes cambios directamente en CorelDRAW usando un escaneo del boceto como base y dibujando sobre él. Yo prefiero usar pluma y tinta, y una mesa de luz"; la mayor parte de la imagen final se calcó a mano con tinta. Posteriormente, la imagen del dibujo lineal se escaneó a 600 ppp, se retocó en un programa de pintura y luego se calcó automáticamente con un programa. [ 1 ] Una vez que la imagen en blanco y negro estuvo en el programa gráfico, se agregaron algunos otros elementos y se coloreó la figura.
De manera similar, Ploch recreó un diseño a partir de una fotografía digital. Importó el archivo JPEG y trazó a mano algunas "formas básicas", coloreándolas posteriormente en el programa de dibujo gráfico; las formas más complejas se trataron de forma diferente. Ploch utilizó un editor de mapas de bits para eliminar el fondo y recortar los componentes más complejos de la imagen. A continuación, imprimió la imagen y la calcó a mano sobre papel vegetal para obtener un dibujo lineal limpio en blanco y negro. Este dibujo se escaneó y posteriormente se vectorizó con un programa. [ 2 ]
Automático
Algunos programas automatizan el proceso de vectorización. Ejemplos de estos programas son Adobe Illustrator , Inkscape , PowerTRACE de Corel y Potrace . Algunos de estos programas tienen una interfaz de línea de comandos, mientras que otros son interactivos y permiten al usuario ajustar la configuración de conversión y visualizar el resultado. Adobe Streamline no solo es un programa interactivo, sino que también permite editar manualmente el mapa de bits de entrada y las curvas de salida. Se accede a PowerTRACE de Corel a través de CorelDRAW; CorelDRAW se puede usar para modificar el mapa de bits de entrada y editar las curvas de salida. Adobe Illustrator cuenta con una función para trazar curvas individuales. [ 3 ]
Los programas automatizados pueden tener resultados mixtos. Se utilizó un programa (PowerTRACE) para convertir un mapa PNG a SVG. El programa funcionó correctamente con los límites del mapa (la tarea más tediosa del proceso de trazado), pero la configuración eliminó todo el texto (los objetos pequeños). El texto se reinsertó manualmente.


Es posible que otras conversiones no resulten tan bien. Los resultados dependen de escaneos de alta calidad, ajustes adecuados y buenos algoritmos. Las imágenes escaneadas suelen tener mucho ruido, lo que puede requerir trabajo adicional para su limpieza.
Opciones

Existen muchos estilos y posibilidades de imagen diferentes, y ningún método de vectorización funciona bien con todas las imágenes. Por consiguiente, los programas de vectorización ofrecen muchas opciones que influyen en el resultado.
Un problema radica en las formas predominantes. Si la imagen es de un formulario rellenable, probablemente solo tendrá líneas verticales y horizontales de ancho constante. La vectorización del programa debería tener esto en cuenta. Por otro lado, un dibujo CAD puede tener líneas en cualquier ángulo, líneas curvas y varios grosores (gruesas para objetos y finas para líneas de cota). En lugar de (o además de) curvas, la imagen puede contener contornos rellenos del mismo color. Adobe Streamline permite a los usuarios seleccionar una combinación de reconocimiento de líneas (horizontales y verticales), reconocimiento de línea central o reconocimiento de contorno. [ 4 ] Streamline también permite descartar formas de contorno pequeñas; la idea es que dichas formas pequeñas son ruido. [ 5 ] El usuario puede establecer el nivel de ruido entre 0 y 1000; un contorno que tenga menos píxeles que ese ajuste se descarta.
Otro problema es la cantidad de colores en la imagen. Incluso las imágenes creadas como dibujos en blanco y negro pueden terminar con muchos tonos de gris. Algunas rutinas de dibujo de líneas emplean suavizado de bordes; un píxel completamente cubierto por la línea será negro, pero un píxel parcialmente cubierto será gris. Si la imagen original está en papel y se escanea, el resultado es similar: los píxeles de los bordes serán grises. A veces, las imágenes se comprimen (por ejemplo, las imágenes JPEG), y la compresión introduce niveles de gris.
Muchos programas de vectorización agrupan los píxeles del mismo color en líneas, curvas o formas delineadas. Si cada color posible se agrupa en su objeto, puede haber una cantidad enorme de objetos. En cambio, se le pide al usuario que seleccione un número finito de colores (generalmente menos de 256), la imagen se reduce para usar esa cantidad de colores (este paso se llama cuantización de color ) y luego se realiza la vectorización en la imagen reducida. [ 6 ] Para imágenes de tono continuo, como fotografías, el resultado de la cuantización de color es la posterización . Los rellenos de degradado también se posterizarán. [ 7 ]
La reducción del número de colores en una imagen suele facilitarse mediante un histograma. Se pueden seleccionar los colores más comunes como representantes, y los demás se asignan a su representante más cercano. Cuando el número de colores se establece en dos, se le puede pedir al usuario que configure el umbral y el contraste. [ 8 ] La configuración de contraste busca cambios significativos en el color de los píxeles en lugar de un color en particular; por lo tanto, puede ignorar las variaciones graduales de color en un relleno degradado . Una vez extraído el contorno, el usuario puede reintroducir manualmente el relleno degradado.
El programa de vectorización querrá agrupar una región del mismo color en un solo objeto. Puede hacerlo haciendo que el límite de la región siga exactamente los límites de los píxeles, pero el resultado será un límite formado a menudo por líneas ortogonales cortas. La conversión resultante también tendrá los mismos problemas de pixelación que un mapa de bits cuando se amplía. En cambio, el programa de vectorización necesita aproximar el límite de la región con líneas y curvas que sigan de cerca los límites de los píxeles, pero que no sean exactamente esos límites. Un parámetro de tolerancia indica al programa qué tan fielmente debe seguir los límites de los píxeles. [ 9 ]
El resultado final de muchos programas de vectorización son curvas compuestas por curvas de Bézier cúbicas . El límite de una región se aproxima con varios segmentos de curva. Para mantener una curva suave, las uniones de dos curvas se restringen de modo que las tangentes coincidan. Un problema es determinar dónde una curva se dobla tan bruscamente que deja de ser suave. [ 10 ] Las partes suaves de una curva se aproximan mediante un procedimiento de ajuste de curvas de Bézier . Se puede utilizar la división sucesiva. Este procedimiento de ajuste intenta ajustar la curva con una única curva cúbica; si el ajuste es aceptable, el procedimiento se detiene. De lo contrario, selecciona un punto ventajoso a lo largo de la curva y la divide en dos partes. Luego ajusta las partes manteniendo la tangente de unión. Si el ajuste sigue siendo inaceptable, divide la curva en más partes. [ 11 ]
Algunos vectorizadores son programas independientes, pero muchos cuentan con interfaces interactivas que permiten al usuario ajustar los parámetros del programa y ver rápidamente el resultado. PowerTRACE, por ejemplo, puede mostrar la imagen original y previsualizar la imagen convertida para que el usuario pueda compararlas; el programa también informa sobre datos como el número de curvas. [ 12 ]
Ejemplo
Obra de arte original en formato PNG; 115 kB.
Trazado con PowerTRACE usando un logotipo detallado, suavizado 40, detalle +2.5; resultado: 50 colores, 94 curvas, 2452 nodos, 96 kB.
A la derecha se muestra una ilustración del funcionamiento de la rádula en los moluscos. La parte superior consiste principalmente en un diagrama de contorno con un grosor de línea uniforme, pero presenta un degradado de malla en la parte inferior de la concha y del alimento. También incluye pinceladas artísticas en la esquina superior izquierda de la concha. La parte inferior de la ilustración presenta cuatro grosores de línea y algunos caracteres pequeños; el relleno de color es sencillo, salvo por un degradado en las líneas irregulares.
La imagen de 531×879 píxeles fue trazada; se utilizaron 50 colores. La mayoría (si no todas) las líneas se perdieron; se convirtieron en regiones negras y sus anchos de línea efectivos variaron. El contorno negro alrededor de la comida azul en la parte superior desapareció. Los rellenos de degradado y los puntos de pincel se perdieron debido a la cuantización/posterización del color; algunos puntos de pincel desaparecieron. Algunas letras sobrevivieron a la vectorización con distorsión, pero la mayoría de las letras fueron descartadas. Perder las letras no es un gran problema; la edición posterior a la conversión querría eliminar la anotación y reemplazarla con texto en lugar de curvas. Las líneas delgadas que se cruzan en un ángulo poco profundo hicieron regiones rellenas, y los contornos que se intersecan de las regiones rellenas se confundieron; ver la esquina inferior derecha. El trazado también tiene algunas características extrañas. Muchos contornos negros se tocan, por lo que se convierten en objetos grandes y complicados en lugar de solo contornos para regiones específicas. En lugar de solo un fondo, una región blanca rectangular separa los dos rectángulos delineados. Los objetos etiquetados como op , rp y rr no son formas simples en capas; El resultado deseado sería tener rr superpuesto por rp, que a su vez está superpuesto por op .
Dominios de uso
- En el diseño asistido por ordenador (CAD), los dibujos ( planos, etc.) se escanean, se vectorizan y se convierten en archivos CAD en un proceso llamado conversión de papel a CAD o conversión de dibujos .
- En los sistemas de información geográfica (SIG), las imágenes satelitales o aéreas se vectorizan para crear mapas .
- En diseño gráfico y fotografía , los gráficos se pueden vectorizar para facilitar su uso y redimensionamiento.
- La vectorización suele ser el primer paso en las soluciones de OCR para texto manuscrito o firmas .
La vectorización es eficaz con datos de entrada monocromáticos y sin gradiente, como las firmas.
Variante vectorizada en dos colores (blanco y negro) de la firma de Cristóbal Colón , 19 kB
Imágenes de tono continuo
La vectorización suele ser inapropiada para imágenes de tono continuo, como los retratos. El resultado suele ser deficiente. Por ejemplo, se aplicaron varios algoritmos de trazado de imágenes a una imagen JPEG de 25 kB. Las imágenes vectoriales resultantes son al menos diez veces más grandes y pueden presentar efectos de posterización pronunciados cuando se utilizan pocos colores.
Una fotografía en formato JPEG , 25 KB
La fotografía de la izquierda vectorizada con RaveGrid , 1,64 MB
Misma fotografía vectorizada con AutoTrace en la interfaz gráfica de usuario de Delineate, 677 KB
Misma fotografía vectorizada con la función "Trace Bitmap" de Inkscape , basada en potrace , 1,05 MB
Misma fotografía vectorizada con Scan2CAD , 340 KB
Vectormagic , 12 colores, 369 KB
Vectormagic , todos los colores, 744 KB
Super Vectorizer , 12 colores, 225 KB
Véase también
- Rasterización
- Intercambio de datos CAD
- Comparación de software de conversión de ráster a vector
- Digitalización
- Error de discretización
- Submuestreo
- Detección de características (visión por computadora)
- Detección de bordes
- escáner de imágenes
- Reconocimiento óptico de caracteres
- Error de cuantificación
- Subpavimentación
Referencias
- ↑ Pepper 2005 , págs. 68–71
- ↑ Ploch 2005 , pág. 17
- ^ Adobe 1998 , págs. 100-101
- ↑ Adobe 1992 , pág. 39
- ↑ Adobe 1992 , págs. 40–41
- ↑ Adobe 1992 , pág. 53
- ↑ Adobe (1998 , pp. 348–350) analiza el bandeado de color en los rellenos degradados.
- ↑ Adobe 1992 , págs. 54–55
- ↑ Adobe 1992 , págs. 59–60
- ↑ Itoh y Ohno 1993
- ↑ Schneider 1990
- ↑ Corel 2005 , pág. 217
- Adobe (1992), Guía del usuario de Adobe Streamline (versión 3 para Windows ), Mountain View, CA: Adobe Systems
- Adobe (agosto de 1998), Guía del usuario de Adobe Illustrator ( edición versión 8.0), Mountain View, CA: Adobe Systems, 90012366
- Corel (2005), Guía del usuario , CorelDRAW X3 Graphics Suite, Ottawa, ON: Corel Corporation, págs . 213–220
- Pepper, KN (2005), "Cartooning with CorelDRAW", en Corel (ed.), CorelDRAW Handbook: Insights from the Experts , CorelDRAW X3 Graphics Suite, Corel Corporation, pp . 64–77
- Ploch, Michael (2005), "Recreando diseños vintage en camisetas", en Corel (ed.), CorelDRAW Handbook: Insights from the Experts , CorelDRAW X3 Graphics Suite, Corel Corporation, pp . 12–23
- Schneider, Philip J. (1990), "Un algoritmo para ajustar automáticamente curvas digitalizadas", en Glassner, Andrew S. (ed.), Graphics Gems , Boston, MA: Academic Press, pp. 612–626 , ISBN 0-12-059756-X
Lecturas adicionales
- Avrahami, Gideon; Pratt, Vaughan (29 de noviembre de 1991), "Detección de bordes subpíxel en la digitalización de caracteres" , en Morris, R.; André, J. (eds.), Imágenes rasterizadas y tipografía digital II , Cambridge University Press, pp. 54–64 , ISBN 9780521417648
- Itoh, Koichi; Ohno, Yoshio (septiembre de 1993), "Un algoritmo de ajuste de curvas para fuentes de caracteres", Publicaciones electrónicas , 6 (3), John Wiley: 195–205 , CiteSeerX 10.1.1.39.537
Enlaces externos
- Probando Corel PowerTRACE
- Gráficos por computadora