Matt Zucker
ha desarrollado un algoritmo llamado “NoteShrink” con una excelente página
explicativa sobre su funcionamiento limpiar y mejorar las imágenes escaneadas
de apuntes escritos a mano. Además de eso, el resultado pasado x la compresión
es mucho menor q el de las imágenes originales
Los ejemplos
q aporta son bastante impresionantes: las típicas zonas grises de sombras de
los escaneados desaparecen, también la transparencia de las notas tomadas
en la parte de atrás de las hojas. Sin embargo si hay “líneas guía”, como las
de las hojas a rayas o cuadros, las guías se mantienen aunque con el contraste
conveniente para q la legibilidad
Una página de
apuntes escritos a mano escaneada a 300 ppp puede tener unos 7 MB (en
PNG/TIFF); convertida a JPEG calidad 85 se queda en unos 800 KB. El
algoritmo de Zucker produce un fichero resultante de alrededor de 100 KB. Otra
ventaja es q además separa correctamente la letra escrita en varios colores:
negro, rojo azul… Y mantiene el fondo del papel si es relevante
El algoritmo
comienza calculando cuál es el color de fondo y luego los colores de
escritura; esto consiste en reducir los bits de la profundidad de color (de 8 x
canal a 4) seleccionando luego solo los q deben corresponderse a la “escritura”
(q suele ser un 3% del total)
Luego se
agrupan los colores similares, como x ejemplo el gris claro del texto q “transparenta”
y el fondo blanco, ambos muy cerca en la paleta de color. Y se hace prevalecer
la mayoría, (lo cual equivaldría a dar x sentado q la gente utiliza
colores q contrastan mucho para escribir, una suposición generalmente
correcta). Como el 80-90% de los colores de los píxeles de fondo suelen ser
blancos, al reemplazar todos los grises claros x blanco esa escritura
transparente q no es válida simplemente desaparece
La imagen
original tiene 24 bits x pixel de color, pero una vez simplificada se puede
elegir un conjunto de colores representativos, x ejemplo rojo, azul, negro (y
quizá el rosa de las rayas de fondo) x métodos estadísticos y de agrupación. El
resultado es una paleta indexada de tan solo 8 colores q reproduce fielmente
el original. (Todo esto se puede hacer variando algunos parámetros, pero para
un mismo tipo de apuntes los valores x defecto parecen captar bien la idea)
Finalmente se
puede encapsular toda la imagen, q sale en JPEG, dentro de un archivo PDF
estándar, lo cual apenas añade unos pocos bytes. Y listo: el archivo documental
en formato abierto queda listo para la posteridad. El código, es
software libre y tiene una licencia MIT. Quienes quieran utilizarlo, examinarlo
o combinarlo con otros proyectos pueden descargarlo de “Github”: “NoteShrink”.
Entran ganas de sacar viejos cuadernos de notas y empezar a escanear…