stringtranslate.com

Calco de imagen

En gráficos por computadora , el calco de imágenes , la conversión de trama a vector o la vectorización de trama es la conversión de gráficos de trama en gráficos vectoriales .

Fondo

Esta imagen ilustra la diferencia entre imágenes de mapa de bits y vectoriales. La imagen de mapa de bits se compone de un conjunto fijo de píxeles, mientras que la imagen vectorial se compone de un conjunto fijo de formas. En la imagen, al escalar el mapa de bits se revelan los píxeles, mientras que al escalar la imagen vectorial se conservan las formas.

Una imagen no tiene ninguna estructura: es sólo una colección de marcas en el papel, granos en una película o píxeles en un mapa de bits . Si bien una imagen así es útil, tiene algunas limitaciones. Si la imagen se amplía lo suficiente, aparecen sus artefactos. Los puntos de semitonos, los granos de la película y los píxeles se vuelven evidentes. Las imágenes de bordes afilados se vuelven borrosas o irregulares. Véase, por ejemplo, pixelación . Lo ideal es que una imagen vectorial no tenga el mismo 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 ser renderizada, y su calidad depende de la calidad del algoritmo de rasterización para las entradas dadas). .

La tarea de la vectorización es convertir una imagen bidimensional en una representación vectorial bidimensional de la imagen. No se trata de examinar la imagen e intentar reconocer o extraer un modelo tridimensional que pueda representarse; es decir, no es un sistema de visión . Para 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 darles ningún significado. En la vectorización, se conserva la forma del personaje, por lo que permanecen los adornos artísticos.

La vectorización es la operación inversa correspondiente a la rasterización , como la integración a la diferenciación . Y, al igual que con estas otras dos operaciones, mientras que la rasterización es bastante sencilla y algorítmica, la vectorización implica la reconstrucción de 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 adecuadas para la vectorización. Esas imágenes podrían haberse creado originalmente como imágenes vectoriales porque se basan en formas geométricas o están dibujadas con curvas simples.

Las fotografías de tonos continuos (como los retratos en vivo) no son buenas candidatas para la vectorización.

La entrada a la vectorización es una imagen, pero una imagen puede presentarse en muchas formas, como una fotografía, un dibujo en papel o uno de varios formatos de archivos rasterizados . Los programas que realizan conversión de ráster a vector pueden aceptar formatos de mapa de bits como TIFF , BMP y PNG .

La salida es un formato de archivo vectorial . Los formatos vectoriales comunes son SVG , DXF , EPS , EMF y AI .

La vectorización se puede utilizar para actualizar imágenes o recuperar trabajo. Las computadoras personales a menudo vienen con un programa de pintura simple que produce un archivo de salida de mapa de bits. Estos programas permiten a los usuarios crear ilustraciones sencillas agregando texto, dibujando contornos y rellenando contornos con un color específico. Sólo los resultados de estas operaciones (los píxeles) se guardan en el mapa de bits resultante; Se descartan las operaciones de embutición y llenado. La vectorización se puede utilizar para recuperar parte de la información que se perdió.

La vectorización también se utiliza para recuperar información que originalmente estaba en formato vectorial pero que se perdió o dejó de estar disponible. Es posible que una empresa haya encargado un logotipo a una firma de artes gráficas. Aunque la empresa de gráficos utilizó un formato vectorial, es posible que la empresa cliente no haya recibido una copia de ese formato. Luego, la empresa puede adquirir un formato vectorial escaneando y vectorizando una copia en papel del logotipo.

Proceso

Archivo PNG original (16 kB)
Convertido a mano a SVG (49 kB)

La vectorización comienza con una imagen.

Manual

La imagen se puede vectorizar manualmente. Una persona podría mirar la imagen, tomar algunas medidas y luego escribir el archivo de salida a mano. Éste 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 ingresar fácilmente el texto (incluso subíndices y superíndices).

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 complicadas puede facilitarse mediante la función de calco 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, debe escanearse a un formato de archivo utilizable.

Una vez que haya un mapa de bits legible por máquina, la imagen se puede importar a un programa de edición de gráficos (como Adobe Illustrator , CorelDRAW o Inkscape ). Luego, una persona puede rastrear 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 nudos estriados para lograr un ajuste perfecto. 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 de dibujo. En lugar de utilizar un programa, Pepper recomienda realizar un boceto inicial en papel. En lugar de escanear el boceto y trazarlo a mano alzada en la computadora, Pepper afirma: "Aquellos que dominen una tableta gráfica y un lápiz óptico podrían realizar 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 fue trazada a mano con tinta. Posteriormente, la imagen del dibujo lineal se escaneó a 600 ppp, se limpió en un programa de pintura y luego se trazó automáticamente con un programa. [1] Una vez que la imagen en blanco y negro estuvo en el programa de gráficos, se agregaron algunos otros elementos y se coloreó la figura.

Asimismo, Ploch recreó un diseño a partir de una fotografía digital. Se importó el JPEG y algunas "formas básicas" se trazaron a mano y se colorearon en el programa de dibujo gráfico; las formas más complejas se manejaron de manera diferente. Ploch utilizó un editor de mapas de bits para eliminar el fondo y recortar los componentes de imagen más complejos. Luego imprimió la imagen y la trazó a mano sobre papel de calco para obtener un dibujo lineal limpio en blanco y negro. Ese dibujo fue escaneado y luego vectorizado con un programa. [2]

Automático

Algunos programas automatizan el proceso de vectorización. Los programas de ejemplo son Adobe Streamline (descontinuado), 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 ver el resultado. Adobe Streamline no es sólo un programa interactivo, sino que también permite al usuario 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 utilizar para modificar el mapa de bits de entrada y editar las curvas de salida. Adobe Illustrator tiene la función de 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 hizo un buen trabajo con los límites del mapa (la tarea más tediosa del calco) y la configuración eliminó todo el texto (objetos pequeños). El texto se volvió a insertar manualmente.

Mapa en formato PNG (13 kB)
Mapa después de la conversión automática y retoque para volver a agregar las etiquetas y ajustar los colores (18 kB)

Es posible que otras conversiones no salgan tan bien. Los resultados dependen de escaneos de alta calidad, configuraciones razonables y buenos algoritmos.

Las imágenes escaneadas suelen tener mucho ruido. Es posible que la imagen de mapa de bits necesite mucho trabajo para limpiarla. Borre marcas perdidas y rellene líneas y áreas.

Consejo de Corel: coloque la imagen sobre una mesa de luz, cúbrala con vitela ( papel de calco ) y luego entinte manualmente los contornos deseados. Luego escanee la vitela y utilice un programa automatizado de conversión de trama a vector en ese escaneo.

Opciones

Aunque estas líneas pueden parecer sólidas, están lejos de ser perfectas. Las líneas se dibujaron sobre vitela con una pluma estilográfica, una pluma de gel de 0,7 mm y un lápiz HB de 0,5 mm. Las imágenes fueron escaneadas a 600 píxeles por pulgada con RGB de 24 bits. Los anchos de línea terminan siendo de 10 a 14 píxeles de ancho. Los colores de la tinta no son uniformes y tienen reflejos especulares que colocan píxeles de luz dentro de las líneas. Las líneas de lápiz también tienen defectos interiores debido a la rugosidad (diente) del papel. El escaneo también tiene algunos artefactos de enmascaramiento de enfoque .

Hay muchos estilos y posibilidades de imagen diferentes, y ningún método de vectorización funciona bien en todas las imágenes. En consecuencia, los programas de vectorización tienen muchas opciones que influyen en el resultado.

Una cuestión es cuáles son las formas predominantes. Si la imagen tiene formato de relleno, probablemente tendrá solo 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, puede haber líneas curvas y puede haber varios grosores de línea (gruesas para objetos y delgadas para líneas de dimensión). 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 (líneas horizontales y verticales), reconocimiento de líneas centrales o reconocimiento de contornos. [4] Streamline también permite eliminar pequeñas formas de contorno; la idea es que formas tan pequeñas son ruido. [5] El usuario puede configurar el nivel de ruido entre 0 y 1000; un contorno que tenga menos píxeles que esa configuración se descarta.

Otro problema es la cantidad de colores de la imagen. Incluso las imágenes que se crearon como dibujos en negro sobre blanco pueden terminar con muchos tonos de gris. Algunas rutinas de dibujo lineal emplean suavizado; un píxel completamente cubierto por la línea será negro, pero un píxel que esté sólo parcialmente cubierto será gris. Si la imagen original está en papel y se escanea, se obtiene un resultado similar: los píxeles del borde serán grises. A veces las imágenes se comprimen (por ejemplo, imágenes JPEG) y la compresión introducirá niveles de gris.

Muchos de los programas de vectorización agruparán píxeles del mismo color en líneas, curvas o formas delineadas. Si cada color posible se agrupa en su objeto, puede haber una enorme cantidad de objetos. En su lugar, se le pide al usuario que seleccione un número finito de colores (generalmente menos de 256), la imagen se reduce a usar esa cantidad de colores (este paso es la cuantización del color ) y luego se realiza la vectorización en la imagen reducida. [6] Para imágenes de tonos continuos, como fotografías, el resultado de la cuantificación del color es la posterización . Los rellenos degradados también se posterizarán. [7]

La reducción del número de colores de una imagen suele ser ayudada por un histograma. Se pueden seleccionar los colores más comunes como representantes y otros colores se asignan a su representante más cercano. Cuando el número de colores se establece en dos, es posible que se le solicite al usuario que realice ajustes de umbral y contraste. [8] Una configuración de contraste busca cambios significativos en el color de los píxeles en lugar de un color en particular; en consecuencia, puede ignorar las variaciones graduales de color en un relleno degradado . Una vez que se ha extraído el contorno, el usuario puede volver a introducir 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 de líneas ortogonales a menudo cortas. La conversión resultante también tendrá los mismos problemas de pixelación que tiene 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 siguen de cerca los límites de los píxeles pero que no son exactamente los límites de los píxeles. Un parámetro de tolerancia le dice al programa qué tan cerca debe seguir los límites de los píxeles. [9]

El resultado final de muchos programas de vectorización son curvas formadas 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, los nudos de dos curvas se restringen para que las tangentes coincidan. Un problema es determinar dónde una curva se curva tan bruscamente que no debería ser suave. [10] Las partes suaves de una curva luego se aproximan con un procedimiento de ajuste de curvas de Bézier. Se puede utilizar división sucesiva. Este procedimiento de ajuste intenta ajustar la curva con una única curva cúbica; si el ajuste es aceptable, entonces el procedimiento se detiene. De lo contrario, selecciona algún punto ventajoso a lo largo de la curva y la divide en dos partes. Luego encaja las piezas manteniendo la unión tangente. Si el ajuste sigue siendo inaceptable, se rompe la curva en más partes. [11]

Algunos vectorizadores son programas independientes, pero muchos tienen 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 obtener una vista previa de la imagen convertida para que el usuario pueda compararlas; el programa también reporta información como el número de curvas. [12]

Ejemplo

A la derecha hay una ilustración que muestra el funcionamiento de la rádula en los moluscos. La parte superior es principalmente un diagrama de contorno relleno de un bolígrafo de ancho, pero tiene un relleno de gradiente de malla a lo largo de la parte inferior del caparazón y de la comida. También tiene unos pinceles artísticos en la parte superior izquierda del caparazón. La parte inferior de la ilustración tiene cuatro grosores de línea y algunos caracteres pequeños; el relleno de color es simple excepto por un degradado en las líneas dentadas.

Se trazó la imagen de 531 × 879 píxeles; 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 degradados y los puntos cepillados se perdieron debido a la cuantización/posterización del color; algunas manchas de maleza desaparecieron. Algunas letras sobrevivieron a la vectorización con distorsión, pero la mayoría fueron descartadas. Perder las cartas no es un gran problema; La edición posterior a la conversión querrá eliminar la anotación y reemplazarla con texto en lugar de curvas. Las líneas finas que se cruzaban en un ángulo poco profundo formaban regiones rellenas, y los contornos que se cruzaban de las regiones rellenas se confundían; ver esquina inferior derecha. El calco 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 simples contornos para regiones específicas. En lugar de sólo un fondo, una región blanca rectangular separa los dos rectángulos delineados. Los objetos etiquetados op , rp y rr no son simples formas en capas; el resultado deseado tendría rr superpuesto por rp que está superpuesto por op .

Dominios de uso

La vectorización es efectiva en datos de entrada sin gradiente y de un solo color, como firmas.

Imágenes de tono continuo

La vectorización suele ser inapropiada para imágenes de tonos continuos, como los retratos. El resultado suele ser pobre. Por ejemplo, se aplicaron muchos algoritmos de seguimiento de imágenes diferentes a una imagen JPEG de 25 kB. Las imágenes vectoriales resultantes son al menos diez veces más grandes y pueden tener efectos de posterización pronunciados cuando se utiliza una pequeña cantidad de colores.

Ver también

Referencias

  1. ^ Pimienta 2005, págs. 68–71
  2. ^ Ploch 2005, pag. 17
  3. ^ Adobe 1998, págs. 100-101
  4. ^ Adobe 1992, pág. 39
  5. ^ Adobe 1992, págs. 40–41
  6. ^ Adobe 1992, pág. 53
  7. ^ Adobe (1998, págs. 348–350) analiza las bandas de color en los rellenos degradados.
  8. ^ Adobe 1992, págs. 54–55
  9. ^ Adobe 1992, págs. 59–60
  10. ^ Itoh y Ohno 1993
  11. ^ Schneider 1990
  12. ^ Corel 2005, pag. 217

Otras lecturas

enlaces externos