Métodos de zoom

En este tutorial vamos a presentar formalmente tres métodos de zoom que se introdujeron en el tutorial de Introducción al zoom.

Métodos

  • Replicación de píxeles o (interpolación de vecino más cercano)
  • Método de retención de orden cero
  • Zoom K veces

Cada uno de los métodos tiene sus propias ventajas y desventajas. Comenzaremos hablando de la replicación de píxeles.

Método 1: replicación de píxeles:

Introducción:

También se conoce como interpolación de vecino más cercano. Como sugiere su nombre, en este método, simplemente replicamos los píxeles vecinos. Como ya hemos comentado en el tutorial de Sampling, el zoom no es más que aumentar la cantidad de muestra o píxeles. Este algoritmo funciona con el mismo principio.

Trabajando:

En este método creamos nuevos píxeles a partir de los píxeles ya dados. Cada píxel se replica en este método n veces en filas y columnas y se obtiene una imagen ampliada. Es tan simple como eso.

Por ejemplo:

Si tiene una imagen de 2 filas y 2 columnas y desea hacer zoom dos o 2 veces usando la replicación de píxeles, aquí le mostramos cómo se puede hacer.

Para una mejor comprensión, la imagen se ha tomado en forma de matriz con los valores de píxeles de la imagen.

1 2
3 4

La imagen de arriba tiene dos filas y dos columnas, primero haremos zoom en la fila.

Zoom inteligente por filas:

Cuando hacemos zoom en las filas, simplemente copiaremos los píxeles de las filas en su nueva celda adyacente.

Aquí cómo se haría.

1 1 2 2
3 3 4 4

Como puede, en la matriz anterior, cada píxel se replica dos veces en las filas.

Ampliación del tamaño de la columna:

El siguiente paso es replicar cada una de las columnas de píxeles, que simplemente copiaremos el píxel de la columna en su nueva columna adyacente o simplemente debajo de ella.

Aquí cómo se haría.

1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4

Nuevo tamaño de imagen:

Como se puede ver en el ejemplo anterior, una imagen original de 2 filas y 2 columnas se ha convertido en 4 filas y 4 columnas después de hacer zoom. Eso significa que la nueva imagen tiene unas dimensiones de

(Filas de la imagen original * factor de zoom, columnas de la imagen original * factor de zoom)

Ventaja y desventaja:

Una de las ventajas de esta técnica de zoom es que es muy simple. Solo tienes que copiar los píxeles y nada más.

La desventaja de esta técnica es que la imagen se amplió, pero la salida es muy borrosa. Y a medida que aumentaba el factor de zoom, la imagen se volvía cada vez más borrosa. Eso eventualmente resultaría en una imagen completamente borrosa.

Método 2: retención de orden cero

Introducción

El método de retención de orden cero es otro método de zoom. También se conoce como zoom dos veces. Porque solo puede hacer zoom dos veces. Veremos en el siguiente ejemplo por qué lo hace.

Trabajando

En el método de retención de orden cero, seleccionamos dos elementos adyacentes de las filas respectivamente y luego los sumamos y dividimos el resultado entre dos, y colocamos su resultado entre esos dos elementos. Primero hacemos esta fila y luego hacemos esta columna.

Por ejemplo

Tomemos una imagen de las dimensiones de 2 filas y 2 columnas y hagamos zoom dos veces usando la retención de orden cero.

1 2
3 4

Primero lo ampliaremos en filas y luego en columnas.

Zoom inteligente en fila

1 1 2
3 3 4

Cuando tomamos los dos primeros números: (2 + 1) = 3 y luego lo dividimos entre 2, obtenemos 1.5 que se aproxima a 1. El mismo método se aplica en la fila 2.

Zoom de columna inteligente

1 1 2
2 2 3
3 3 4

Tomamos dos valores de píxeles de columna adyacentes que son 1 y 3. Los sumamos y obtuvimos 4. Luego, 4 se divide por 2 y obtenemos 2 que se coloca entre ellos. Se aplica el mismo método en todas las columnas.

Nuevo tamaño de imagen

Como puede ver, las dimensiones de la nueva imagen son 3 x 3, donde las dimensiones de la imagen original son 2 x 2. Por lo tanto, significa que las dimensiones de la nueva imagen se basan en la siguiente fórmula

(2 (número de filas) menos 1) X (2 (número de columnas) menos 1)

Ventajas y desventajas.

Una de las ventajas de esta técnica de zoom es que no crea una imagen tan borrosa en comparación con el método de interpolación del vecino más cercano. Pero también tiene la desventaja de que solo puede funcionar con la potencia de 2. Puede demostrarse aquí.

Razón detrás del zoom dos veces:

Considere la imagen de arriba de 2 filas y 2 columnas. Si tenemos que hacer zoom 6 veces, usando el método de retención de orden cero, no podemos hacerlo. Como la fórmula nos muestra esto.

Solo podía acercar la potencia de 2 2,4,8,16,32 y así sucesivamente.

Incluso si intenta hacer zoom, no puede. Porque al principio cuando lo acercarás dos veces, y el resultado sería el mismo que se muestra en la columna haciendo zoom con dimensiones iguales a 3x3. Luego, volverá a hacer zoom y obtendrá dimensiones iguales a 5 x 5. Ahora, si lo hace de nuevo, obtendrá dimensiones iguales a 9 x 9.

Mientras que de acuerdo con su fórmula, la respuesta debería ser 11x11. Como (6 (2) menos 1) X (6 (2) menos 1) da 11 x 11.

Método 3: zoom de K-Times

Introducción:

K veces es el tercer método de zoom que vamos a discutir. Es uno de los algoritmos de zoom más perfectos discutidos hasta ahora. Satisface los desafíos del doble zoom y la replicación de píxeles. K en este algoritmo de zoom significa factor de zoom.

Trabajando:

Funciona así.

En primer lugar, debe tomar dos píxeles adyacentes como lo hizo en el zoom dos veces. Luego tienes que restar el menor al mayor. Llamamos a esta salida (OP).

Divida la salida (OP) por el factor de zoom (K). Ahora debe sumar el resultado al valor más pequeño y poner el resultado entre esos dos valores.

Suma el valor OP de nuevo al valor que acabas de poner y colócalo de nuevo al lado del valor anterior. Tienes que hacerlo hasta que coloques valores k-1 en él.

Repita el mismo paso para todas las filas y columnas y obtendrá imágenes ampliadas.

Por ejemplo:

Suponga que tiene una imagen de 2 filas y 3 columnas, que se muestra a continuación. Y tienes que hacer zoom tres o tres veces.

15 30 15
30 15 30

K en este caso es 3. K = 3.

El número de valores que se deben insertar es k-1 = 3-1 = 2.

Zoom inteligente en fila

Tome los dos primeros píxeles adyacentes. Que son 15 y 30.

Reste 15 de 30. 30-15 = 15.

Dividir 15 entre k. 15 / k = 15/3 = 5. Lo llamamos OP. (Donde op es solo un nombre)

Agregue OP al número más bajo. 15 + OP = 15 + 5 = 20.

Agregue OP a 20 nuevamente. 20 + OP = 20 + 5 = 25.

Hacemos eso 2 veces porque tenemos que insertar valores k-1.

Ahora repita este paso para los siguientes dos píxeles adyacentes. Se muestra en la primera tabla.

Después de insertar los valores, debe ordenar los valores insertados en orden ascendente, por lo que permanece una simetría entre ellos.

Se muestra en la segunda tabla.

Tabla 1.

15 20 25 30 20 25 15
30 20 25 15 20 25 30

Tabla 2.

Zoom de columna inteligente

El mismo procedimiento debe realizarse en columnas. El procedimiento incluye tomar los dos valores de píxeles adyacentes y luego restar el más pequeño del más grande. Luego, después de eso, debes dividirlo por k. Almacene el resultado como OP. Agregue OP a uno más pequeño y luego nuevamente agregue OP al valor que viene en la primera adición de OP. Inserte los nuevos valores.

Aquí lo que tienes después de todo eso.

15 20 25 30 25 20 15
20 21 21 25 21 21 20
25 22 22 20 22 22 25
30 25 20 15 20 25 30

Nuevo tamaño de imagen

La mejor manera de calcular la fórmula para las dimensiones de una nueva imagen es comparar las dimensiones de la imagen original y la imagen final. Las dimensiones de la imagen original eran 2 X 3. Y las dimensiones de la nueva imagen son 4 x 7.

La fórmula así es:

(K (número de filas menos 1) + 1) X (K (número de columnas menos 1) + 1)

Ventajas y desventajas

La clara ventaja que tiene el algoritmo de zoom de tiempo k es que es capaz de calcular el zoom de cualquier factor, que fue el poder del algoritmo de replicación de píxeles, y también brinda un resultado mejorado (menos borroso) que fue el poder del método de retención de orden cero. Por lo tanto, comprende el poder de los dos algoritmos.

La única dificultad que tiene este algoritmo es que tiene que ser ordenado al final, lo cual es un paso adicional y, por lo tanto, aumenta el costo de cálculo.