trama tonos serigrafia puntos para medios malla lpi lineatura lineaje imprimir hilos halftone como calcular angulo algorithm image-processing

algorithm - serigrafia - Algoritmo para hacer imágenes de medios tonos



lpi para serigrafia (4)

La forma más sencilla de hacerlo es ir de píxel a píxel y usar aleatoriedad: para cada píxel, probabilidad de volverlo a colorear = oscuridad del color original.

Eso puede darte un algoritmo de tramado de dos líneas. No va a verse tan bien como Floyd-Steinberg (porque ese mantiene un registro de los errores), o tan artístico como el "mosaico y luego coloque discos en cada azulejo para que esa fracción de negro = oscuridad promedio en el mosaico original", pero funciona bastante bien en la práctica.

¿Cuál es un buen algoritmo para hacer imágenes de semitonos (como este )? Una búsqueda rápida en Google arroja un montón de documentos sobre el tema, pero es difícil juzgar cuáles son buenos, eficientes, etc. ¿Hay alguna mejor opción para hacer este tipo de cosas?


  • Filtre hasta la resolución que desea que los "puntos" separen.
  • Obtenga la intensidad promedio del grupo de píxeles en esa área.
  • Dibuja el punto de manera que el área de superficie del punto sea igual al porcentaje de blanco a negro de la intensidad promedio.

Piense en los grupos de píxeles como una cuadrícula hexagonal. Use una función de círculo para decidir qué píxeles van al grupo. Puede ajustar la superposición de los círculos para ajustar el negro / saturación de la salida. Esto está diseñado para resultados de alta resolución, como imprimir. Si está haciendo esto para mostrar en la pantalla como un efecto visual, asegúrese de utilizar una rutina de dibujo circular antialias para compensar la baja resolución de la pantalla. (En comparación con la impresión, incluso HD no es tan alto).

Si estás haciendo esto porque te gusta el efecto, es genial. Pero si solo desea oscilar hasta una imagen en blanco y negro, considere usar un tramado "Floyd-Steinberg". Proporciona resultados de alta calidad y distribuye el error en toda la imagen. http://en.wikipedia.org/wiki/Floyd-Steinberg_dithering


Halftoning es muy eficiente.

Semitono de un solo nivel: Entrada: píxeles de su imagen; "pantalla" preconstruida que contiene valores de umbral. En tiempo de ejecución: para cada canal de color, para cada píxel, seleccione un valor de umbral (indexe en el módulo de matriz de umbral las dimensiones de la matriz). Una comparación entre el píxel y el umbral determina si el valor de salida está activado o desactivado.

Se generaliza a la producción de varios niveles también, mediante el uso de pantallas múltiples.

La parte interesante es la construcción de las pantallas (matrices de umbral). Hay muchas variaciones: punto agrupado (AM), estocástico (FM), muchas variaciones e híbridos, incluido el ruido azul y el ruido verde (AM / FM). Y generalmente desea una pantalla diferente para cada canal de color. Las pantallas de puntos agrupadas tradicionales colocan sus puntos en cuadrículas rectangulares que se pueden describir por su frecuencia (baja frecuencia = puntos grandes) y ángulo (típicamente 15 ° para Cyan, 75 ° para Magenta, 90 ° para Amarillo y 45 ° para Negro) .

Si desea experimentar, el mapa de bits de Photoshop con el método de pantalla de medias tintas (consulte este tutorial ) tiene un generador de pantallas interno y mostrará una imagen en escala de grises en un mapa de bits como su ejemplo.

Los métodos de tramado sugeridos por otros implican un mayor cálculo por píxel y la salida no se parece a su ejemplo de semitono apantallado por puntos agrupados.


Hay muchas implementaciones de algoritmos de código abierto para crear imágenes de medios tonos. Puedes echar un vistazo a los códigos fuente. A continuación se presentan algunas implementaciones desarrolladas en Java utilizando Marvin Image Processing Framework .

imagen de entrada:

Difusión de errores ( fuente ):

Rylanders ( fuente ):

Dithering ( fuente ):

Círculos ( fuente ):