Pregunta

Sé que Floyd-Steinberg algoritmo no puede ser implementado con sombreado de píxeles, debido a que el algoritmo es estrictamente secuencial. Pero tal vez exista algún altamente paralelo tramado algoritmo que por ella de salida visual es similar al algoritmo de Floyd-Steinberg?

Así que la pregunta es - ¿Cuáles son los algoritmos de tramado que son adecuados para poner en práctica el sombreado de píxeles (preferiblemente GLSL) y con una calidad de salida (muy) similar a Floyd-Steinberg

Por cierto. algoritmos de múltiples pasadas se permite hasta que no hay más de 2 pases y sobrecarga de la CPU entre esos pases es pequeño.

¿Alguna idea?

EDIT:
Necesito tramado de color de 24 bits a color de 21 bits. gratis (Es decir - que necesito convertir de 8 bits / canal a 7 bits / canal.)

EDIT 2 Tal vez no he explicado problema muy bien. Así que voy a tratar de ampliar un poco problema exacto. El problema es que esto - consideramos que tenemos esta imagen:
texto alternativo
Y tenemos por encima de la imagen, sino que se transforma con el algoritmo de interpolación:
texto alternativo
Ahora bien, este es un procedimiento que permite evaluar el tramado es bueno para mí o no:
1. Cargar estas imágenes en Photoshop como una imagen con 2 capas. Página 2. Elija Capas modo de fusión a "diferencia". página 3. Realizar "Combinar visibles" operación en capas, para obtener una sola capa. página 4. Realizar la operación => Imagen / Ajustes / Ecualiza
Después de que usted debe obtener dicha imagen:
texto alternativo Como se puede ver
- píxeles intermedios que era en un solo tono de color rojo no fue interpolado en absoluto. También el tramado de las zonas de imagen de la izquierda y la derecha es un poco diferente. Tratar de reconstruir el tramado algoritmo con tal comportamiento.

¿Fue útil?

Solución

Si usted está reduciendo de 8 bits a 7, va a tirar casi ninguna información. ¿Seguro de que aún necesita tramado?

Si necesita tramado, añadir ruido aleatorio y luego cortar, que será bueno un montón para su aplicación.

Otros consejos

Se podría utilizar un ordenada tramado . Es más gruesa en busca de Floyd-Steinberg pero no hay dependencia entre píxeles.

Editar Dado que sólo está quitando un poco, esto se convierte en casi trivial. El principio detrás de indecisión ordenada es crear un patrón que empuja el umbral de transición; en este caso el sesgo será 0 ó 1 y el patrón será de 2x2 píxeles. Estos dos cambios juntos harán que el patrón mucho menos desagradable que el de un artículo de Wikipedia -. Usted puede ser que incluso gusta más que Floyd-Steinberg

Aquí hay algunos pseudo-código:

bias = (X xor Y) and 0x01
value = pixel + bias
if value > 255: value = 255
pixel = value and 0x7e

Editar 2: Esto es el resultado de mi diferencia, lo mejor que puedo hacer. Sin saber cómo asignar sus valores de 7 bits de nuevo a 8 bits no soy capaz de hacerlo mejor.

text alt

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top