La interpolación del vecino más cercano no funciona en ImageMagick

Quiero mostrar una imagen y tener los píxeles grandes y claramente visibles. Como es común mostrar imágenes escaladas con alguna forma de filtrado suave, la mejor opción es aumentar la resolución de la imagen sin interpolación (es decir, la más cercana). Tengo bastantes y necesito automatización, de ahí ImageMagick.

Estoy seguro de que he hecho esto antes y me encontré con el mismo problema, pero esta vez Google no está ayudando. Recuerdo vagamente que el orden de los argumentos puede ser bastante importante aquí, pero probé todas las permutaciones y el resultado es el mismo.

Lo siguiente simplemente no funciona. Cambia el tamaño de la imagen correctamente pero está todo borroso:

convert from.png -interpolate Nearest -resize 800% to.png

¿Qué me estoy perdiendo?


Ejemplo:

empiezo coningrese la descripción de la imagen aquí

entiendo estoingrese la descripción de la imagen aquí

pero quiero estoingrese la descripción de la imagen aquí


Enlaces relacionados:

para obtener lo que desea, debe deshabilitar la interpolación.
@Vincent Tenía la impresión de que usarlo Integero Nearestdebería deshabilitarlo. ¿Hay otra manera?
En serio, no tengo ni idea de imagemagick, pero sé que necesito desactivar la interpolación cuando quiero una ampliación pixelada en Photoshop... :)
Cualquier cantidad de razones: las imágenes podrían haber sido creadas/proporcionadas por otra persona, la muestra podría haber sido producida por una aplicación diferente, ...
@DumbNic MichaelSchumacher tiene razón. Lo creé con gimp, pero quiero usar imagemagick para la automatización sin interfaz gráfica de usuario.
"deshabilitar la interpolación" independientemente de lo que diga la opción en Photoshop, el acto de determinar los valores de píxeles en la imagen más grande que no existía previamente en su imagen más pequeña se llama interpolación. En otras palabras, "ampliar" una imagen implica necesariamente la interpolación de algún tipo.

Respuestas (1)

Tonto de mí. Encontré una solución en mi historial de bash. Necesitaba configurar -filter point.

convert from.png -interpolate Nearest -filter point -resize 800% to.png

El filtro predeterminado parece ser Cubic para mí. Curiosamente, -interpolate Nearestno parece afectar la salida en absoluto y es posible que no se necesite arriba. Me encantaría saber por qué y no aceptaré esto como la respuesta.

ImageMagick puede ser divertido a veces , como cuando el documento muestra parámetros que no están en mayúsculas, pero aún deben usarse como convert -list interpolatelistas de lo que está disponible y está todo en mayúsculas. Tenga en cuenta que el valor predeterminado es bilineal . Como mencionas después de algunas pruebas, no puedo decir que cambie nada de lo que puedo ver jajaja. Se menciona que esto es más importante para distorsionar/transformar, etc. ¡Salud!
Esto no funcionó para mí, sin embargo, cambiar Nearestpara Integerhacer que todo funcione. ¡Gracias por la -filter pointpista!