Quiero imprimir algunos dibujos lineales en A3, pero no son muy grandes, alrededor de 600x800px.
Probé funciones obvias en Gimp, como cambiar el tamaño y luego mejorar con un sacapuntas o una máscara de enfoque, con un desenfoque gausiano selectivo antes, pero los resultados de impresión no son buenos.
Tampoco son fáciles para la vectorización, pero quizás ajustar alguna herramienta de rastreo puede darme mejores resultados que cambiar el tamaño del mapa de bits. Antes de comenzar a explorar esta opción, pensé en pedir consejo:
¿Alguien puede compartir una receta, ya sea usando algoritmos de programación (numpy / scipy o matlab) o usando herramientas disponibles en Gimp o Photoshop, para lograr un cambio de tamaño de calidad en el dibujo lineal?
fuente
Respuestas:
No estoy seguro de si esta es la mejor manera en su caso, pero tuve éxito con la combinación de filtros gaussianos y medianos.
Aquí hay un ejemplo que hice completamente en Paint.NET. Imagen original:
Cambiar el tamaño al 400% (Vecino más cercano):
Desenfoque gaussiano (radio: 6.0 px):
Filtro mediano (radio: 4 px, percentil: 50%):
Niveles para mejorar el contraste:
Curvas para cortar sombras borrosas (el umbral funcionaría mejor, pero esto no está disponible en Paint.NET por defecto):
Tenga en cuenta que el dibujo delgado sin alias necesita ser reforzado. Puede lograr esto aplicando niveles antes del filtro de mediana.
Los parámetros de los filtros que utilicé son puramente experimentales: jugar con ellos puede conducir a mejores resultados. Tal vez el acercamiento de las escaleras de esta manera también lo mejore.
fuente
Eche un vistazo a los algoritmos de escalado de pixel art , particularmente los algoritmos hqx . Por lo general, están limitados a un factor de escala entero (es decir, 2x, 3x, 4x), por lo que no son completamente generales, pero deberían funcionar bastante bien en los dibujos lineales.
fuente
Esto está fuera de mi alcance, pero suponiendo que esté tratando con imágenes que pueden tratarse como binarias (ya sea que un píxel pertenezca a una línea del dibujo o no), puede intentar ampliar sus imágenes (con el desenfoque resultante) umbral para binarizar la imagen ampliada, y luego realizar adelgazamiento morfológico.
En MATLAB, mirarías las funciones imresize , im2bw y bwmorph .
Espero que esto ayude...
fuente
¿Has intentado convertir la imagen en una versión vectorizada similar? Sé que Flash e Inkscape tienen esos:
http://inkscape.org/doc/tracing/tutorial-tracing.html
https://www.google.com/search?q=flash+image+to+vector
fuente