Vectorización de píxeles en imágenes de mapa de bits para un cambio de tamaño infinito. ¿Posible?

Solo pongo esto a discusión, y porque actualmente no puedo pensar por qué no funcionaría...

Imagina que conviertes cada píxel de una imagen de mapa de bits en un cuadrado vectorial. ¿Podría cambiar el tamaño de esa imagen (o la colección de "píxeles" cuadrados vectoriales) de manera proporcional e infinita, creando esencialmente una imagen de mapa de bits vectorial?

¿Cuáles serían las limitaciones o los obstáculos de esto?

Si es posible, ¿no podría implementarse en cualquier lugar y en todas partes (por ejemplo, como svg para sitios web, etc.) para que ya no tengamos el problema de "las imágenes rasterizadas se vuelven borrosas cuando se amplían"? Algún tipo de herramienta de conversión automática (es decir, abrir/importar una imagen de mapa de bits y se "lee" automáticamente y se convierte en una imagen de píxeles vectorizados), incluso dentro de Photoshop, que podría convertir cualquier imagen rasterizada antigua en un píxel vectorial totalmente receptivo. ¿imagen?

¿Por qué no ha sucedido esto todavía?

Píxeles

Estoy menos interesado en una respuesta de "cómo lo hago", que en una discusión sobre el concepto, y ¿por qué, si es posible, las imágenes de píxeles vectoriales no son una cosa? Preguntando por este desafío: meta.graphicdesign.stackexchange.com/questions/2952/…
Este sitio web sigue un formato de preguntas y respuestas bastante estricto. Como tal, las preguntas de discusión abiertas no suelen encajar bien y puedo prever que esto se cerrará. Puede encontrar más información sobre los tipos de preguntas que debe evitar aquí .
@JohnManly, ¿dónde deberían publicarse las preguntas para el desafío establecido en mi enlace anterior?
Supongo que, en última instancia, depende de lo que pretendas obtener al preguntar esto. Si está buscando una discusión general, este no es el lugar. Si desea que las personas respondan a su pregunta sobre las limitaciones del proceso descrito anteriormente, entonces podría ser una buena opción.
Estaba pensando en ellos como uno y lo mismo: una discusión sobre las limitaciones, si las hay, del proceso. ¿Cuál sería la otra ubicación para publicar preguntas de tipo debate que se solicitaron, nuevamente, en el enlace que publiqué anteriormente?
Sí, puede hacer esto como híbrido vectorial/ráster. De hecho, todo lo que se necesita son algunos rectángulos de colores; y puedes agrandarlos tanto como quieras. Pero, ¿en qué se diferenciaría, entonces, de cualquier imagen de mapa de bits normal y antigua , con la que también puedes hacer eso? No agrega nada.
Cualquier imagen de mapa de bits normal no se puede cambiar de tamaño indefinidamente. Ese es mi punto. ¿Qué es un híbrido vector/ráster? Para reducir el enfoque de mi pregunta, he agregado una hipótesis y una pregunta final arriba.
@dmoz, una imagen de trama se puede ampliar tanto como una imagen de píxeles vectorizada. los 'píxeles' aún aumentan de tamaño con la solución vectorial. No hay diferencia.
Creo que esta es una pregunta válida y no parece tan amplia.
@Cai Sí, tienes razón. Si bien la cuadrícula de píxeles de la pantalla permanece igual, ampliar cada "píxel" vectorial (o píxel de mapa de bits para el caso) solo crea cuadrados más grandes. Supongo que mi problema radica en lo que hacen referencia las dos respuestas a continuación: por qué la nitidez de una imagen de mapa de bits no se puede retener si los píxeles se amplían pero permanecen en la misma secuencia.

Respuestas (2)

Como dices, vectorizar cada píxel no tiene sentido.

Imagina que vectorizas cada píxel y luego lo redimensionas. Simplemente tienes cuadrados más grandes .

Lo mismo sucede exactamente si cambia el ppi en una salida, tiene píxeles más grandes. No es necesario volver a muestrearlo.


Quieres deshacerte de la borrosidad. Ese es un tema totalmente diferente. Eso sucede cuando el usuario (o el software) utiliza un método de remuestreo que simplemente intenta adivinar la información que no está allí, por lo que el resultado puede ser borroso.

Hay un método de remuestreo que no desenfoca la imagen, simplemente le brinda píxeles más grandes, es decir, remuestrea en una proporción exacta de 2x, 3x usando el vecino más cercano. Pero esto tampoco tiene sentido, porque simplemente tienes un archivo más grande sin ningún valor extra. Es solo para darle a una imagen un aspecto pixelado.


Hay algunos algoritmos de remuestreo que "vectorizan" el mapa de bits (afirman que), como

  • zoom de fotos
  • Resombrear
  • Piel alienígena

Eso encuentra los bordes de una forma y no los desenfoca. Pero los resultados no son perfectos y funcionan en algunas situaciones, no en todas.


Hay otro software que adivina el patrón debajo de una imagen. Funcionan en algunas situaciones, pero nuevamente no son perfectos.


Aquí hay una imagen de muestra,

El primer cuadrado no tiene borrosidad, tiene pixelación... píxeles más grandes (exactamente el mismo caso que tu propuesta). Los otros 3 son métodos diferentes de remuestreo.

  • Irfanview, Filtro Lanczos
  • FotoZoom
  • Resombrear

¡Esa ampliación de PhotoZoom se ve realmente bien! Estoy realmente impresionado.
Esa prueba se hizo con la versión 4 creo. Existe la posibilidad de que haya mejorado.

Realmente no agregaría nada. De todos modos, eso es lo que son las imágenes de píxeles, un mapa de cuadrados de colores discretos, exactamente lo mismo que si convirtieras cada píxel en un cuadrado vectorial.

Tome esta imagen de mi respuesta a una pregunta anterior sobre cómo hacer exactamente lo que está hablando:

Mosaico de 256 píxeles aumentado a 6400 píxeles

Es un mosaico cuadrado de 256 píxeles aumentado de tamaño a 6400 píxeles cuadrados, aparentemente sin pérdida de calidad de imagen. Siempre que aumente el tamaño de la imagen en múltiplos enteros, no obtendrá una pérdida aparente de calidad. Lo que nunca obtendrá es un aumento en la calidad (que es lo que pueden esperar las personas que no entienden la naturaleza de las imágenes de mapa de bits)

La pérdida de calidad que se obtiene al aumentar el tamaño de una imagen proviene del suavizado y la interpolación... ¡Pero lo importante aquí es que también obtendría eso con sus píxeles vectorizados!

Las imágenes vectoriales aún deben rasterizarse o renderizarse para que pueda verlas en su pantalla, lo que significa que cualquier imagen vectorial que vea en ese momento se ha convertido en una imagen basada en píxeles. Tu pantalla está hecha de píxeles después de todo. Y dado que su imagen híbrida de vector/mapa de bits básicamente todavía está compuesta de píxeles, aún obtiene los mismos efectos.

Aquí hay algunas comparaciones de imágenes ampliadas con diferentes métodos:

Comparaciones de interpolación

La primera ampliación es sin interpolación, lo que conserva la nitidez . El problema con esto es que la nitidez son solo píxeles ampliados, que generalmente es lo que la gente no quiere. La segunda ampliación se realiza mediante interpolación bicúbica. Esto soluciona el problema de la pixelación , pero el resultado es una distorsión que la mayoría de las veces se ve peor. Hay mejores algoritmos y métodos para ampliar imágenes, ¡pero ese es otro tema!

Ese es un ejemplo muy interesante. Entiendo que los píxeles físicos en una pantalla requieren que todo lo que se muestre se convierta en píxeles, pero supongo que ¿por qué no se podría aplicar el mismo concepto que su ejemplo a cualquier imagen? Es decir. ¿Por qué no podemos tener imágenes responsivas? Por ejemplo: una imagen de 256x256px en la web se adapta a través de CSS y se amplía a 6400x6400px. Si los píxeles de la imagen, cada vez más grandes, dictaran qué píxeles de la pantalla muestran qué colores (los píxeles de la pantalla "cortan" los píxeles de la imagen hasta la densidad Retina ajustada que tenemos actualmente), ¿no podría conservarse la nitidez?
Mejor aún, ni siquiera en múltiplos enteros. Con nuestras densidades de píxeles de pantalla actuales, ¿tiene que ampliarse en múltiplos exactos para conservar la nitidez? ¿Podrían nuestras pantallas (o algún algoritmo hipotético) promediar los colores que se mostrarán entre los píxeles de la imagen ampliada? ....... Gracias por todas las respuestas/discusión. Solo trato de envolver mi cabeza alrededor de esto.
Promediar los colores es, literalmente, lo que es el remuestreo. Su idea básica es, literalmente, qué es el remuestreo de imágenes. No hay absolutamente ninguna diferencia entre la realidad actual de la manipulación de imágenes y su idea.
@dmoz como dijo Yorik, lo que estás diciendo es exactamente lo que sucede. Esos algoritmos no son hipotéticos, son la razón exacta por la que obtienes ese desenfoque cuando amplías las imágenes. Puede conservar la nitidez como dijo, pero esa es la nitidez de los píxeles , que es lo que la gente generalmente no quiere.
@Yorik, te escucho, gracias. @ Cai, supongo que estoy imaginando un caso incluso más allá del ejemplo de interpolación bicúbica que publicaste anteriormente. Si tuviéramos la densidad de píxeles de la pantalla, y la imagen en sí fuera lo suficientemente nítida en primer lugar, repleta de suficientes ppi , y refinamos el contraste de nuestro enfoque/remuestreo algorítmico, ¿no podríamos al menos reproducir exactamente la nitidez del original? ¿imagen? Gracias por la discusión caballeros!
@dmoz "en primer lugar, repleto de suficientes ppi", en ese caso, después de hacer todo lo demás mencionado, puede probar Image Trace . Si la obra de arte no es demasiado complicada, en realidad puede proporcionar resultados sorprendentes.