• No se han encontrado resultados

Procesamiento Digital de Imágenes LCC-594

N/A
N/A
Protected

Academic year: 2021

Share "Procesamiento Digital de Imágenes LCC-594"

Copied!
62
0
0

Texto completo

(1)

Procesamiento Digital

de Imágenes LCC-594

Benemérita Universidad Autónoma de Puebla

Facultad de Ciencias de la Computación

(2)

5. Operaciones

geométricas

(3)

Objetivo: Conocer los

métodos de

transformaciones

geométricas sobre una

imagen digital.

(4)

I. Traslación

II. Rotación

III. Escala

IV. Ampliación y reducción simples

V. Métodos de interpolación

(5)

• Al igual que en los gráficos por computadora, en el

procesamiento de imágenes existen operaciones que cambian la posición y el tamaño de las imágenes.

• Es decir, las transformaciones geométricas modifican las

relaciones espaciales entre pixeles ya que los valores de los pixeles se mantienen y cambia su posición espacial.

• Una transformación geométrica consiste de dos operaciones

básicas:

(6)

1. Una transformación espacial que define la reubicación de los pixeles en el plano imagen.

2. Interpolación de los niveles de grises, los cuales tienen que ver con la asignación de los valores de intensidad de los pixeles en la imagen transformada.

• Las transformaciones afines son las más usadas en imágenes

digitales 2D por su representación y manejo matricial.

• Las transformaciones afines son generalizaciones de las

transformaciones Euclidianas y bajo éstas no se preservan ni el largo ni el ángulo de los objetos transformados.

(7)

• Las distancias sólo se preservan entre puntos en la misma línea

o en líneas paralelas (colineales). La escala y el inclinación pertenece a este tipo de transformaciones.

• Hay que tomar en cuenta que en muchos casos al aplicar una

operación geométrica se cambia el tamaño de las imágenes, lo cuál es importante para el desplegado y las operaciones de la interfase de deshacer y rehacer.

(8)
(9)

• Esta operación consiste en desplazar un pixel original p(xi, yi)

en la imagen original hasta una nueva posición, utilizando:

• A veces será necesario realizar algún tipo de interpolación ya

que los desplazamiento pueden no ser enteros.

• Un detalle a considerarse en el proceso de traslación es el

hecho de que la imagen se desplaza con respecto a la posición original y una zona de la imagen contenida en el lienzo rectangular deberá ser llenada con un color arbitrario.

Traslación

(10)

Traslación

(a) (b)

(11)
(12)

• El proceso de rotación consiste en girar la imagen en un ángulo

definido. La rotación se encuentra dada por las ecuaciones:

donde x0 y y0 son las coordenadas del centro de rotación y 𝜃

es el ángulo de rotación en sentido de manecillas del reloj.

• Entre los problemas que debemos atender para aplicar esta

transformación están los siguientes:

Rotación

(13)

1. Se debe definir un centro de rotación para aplicar la transformación.

(14)

1. Se debe definir un centro de rotación para aplicar la transformación.

2. Antes de aplicar la transformación será necesario calcular el tamaño de la imagen rotada y de éste las dimensiones de la matriz donde se almacenará.

(15)

1. Se debe definir un centro de rotación para aplicar la transformación.

2. Antes de aplicar la transformación será necesario calcular el tamaño de la imagen rotada y de éste las dimensiones de la matriz donde se almacenará.

3. Dado que los lienzos son rectangulares, se deben rellenar las esquinas de la imagen rotada con algún color arbitrario, ya que para la mayoría de los valores de 𝜃, la imagen rotada será más grande que la original (las excepciones se dan para 𝜃 = ±90º y 180º). Esto introducirá información que no esta presente en la imagen original.

(16)

4. Como 𝜃 es arbitrario en general al transformar la coordenada

(x, y) de algún pixel, dado que x y y son enteros, la transformación nos regresará un número real y nos veremos obligados a redondear, esto puede provocar que más de un pixel de la imagen original se mapee en el mismo en la imagen transformada. Esto puede provocar que algunos pixeles no se llenen y se produzcan huecos (que forman patrones de tipo mosaico) en la imagen transformada.

• El primer aspecto se puede resolver usando el “centro” de la

imagen como eje de rotación, esto implica que se debe aplicar una transformación de translación, rotar y luego deshacer la traslación inicial, esta es la regla que las técnicas estándares de graficado indican.

(17)

• Es normal que este proceso genere coordenadas negativas,

motivo por el cual se debe introducir una corrección ya que los índices de las matrices no deben ser negativos en general.

• El segundo problema se puede resolver mapeando las esquinas

de la imagen original, es decir transformar los puntos (0, 0), (N

- 1, 0), (0, M - 1) y (N - 1, M - 1), y a partir de su mapeo encontrar las dimensiones del lienzo que contiene a la imagen rotada.

(18)

• El tercer problema se puede resolver eligiendo un color de

fondo, se llena la matriz de destino ya dimensionada y luego se mapea la imagen original punto a punto.

• Y finalmente el cuarto problema (redondeo), se incluye en el

algoritmo al momento de hallar los índices del pixel transformado.

(19)

Rotación

(20)

Rotación

(21)
(22)

• Las operaciones más frecuentes corresponden a las de cambio

de tamaño o escala, a estas muchas veces se les llama

operaciones de zoom por su analogía con el efecto que hace una lente en una cámara analógica o digital.

• Se pueden distinguir dos clases de métodos: aquellos que

reducen el tamaño y los que lo incrementan. A los primeros se les llama de reducción y a los segundos de ampliación.

• En el primer caso es claro que se producirá una pérdida de

información en la imagen resultante debido a que el tamaño de la misma es menor y en el segundo caso se tendrán que proponer algoritmos que propongan como estimar el tono o color de los pixeles nuevos que se crean al ampliar la imagen.

(23)

• En este caso se debe estar consciente de que se “inventar”

información que no esta presente en la imagen original, lo cual puede producir artefactos en la imagen ampliada.

• Diremos que un artefacto es un elemento que es producido

por un algoritmo de transformación que no está presente en la imagen original, pero aparece en la imagen producto de la transformación.

• En general los artefactos no son deseables pues introducen

elementos indeseables que se pueden considerar como ajenos a los datos originales.

(24)

• Las transformaciones más simples de cambio de tamaño

corresponden a la ampliación por 2 en ambas dimensiones y la reducción a la mitad de ellas.

• De forma general tenemos que esta operación es similar a un

cambio de escala, la cuál se puede generalizar con las ecuaciones:

Escala

(25)

5.3.1 Ampliación y

reducción simples

(26)

• Las transformaciones más simples de cambio de tamaño

corresponden a la ampliación por 2 en ambas dimensiones y la reducción a la mitad de ellas.

• En el caso de a ampliación simple, el algoritmo consiste en la

duplicación de cada pixel en la imagen resultante, es decir ya que el alto y ancho de la imagen final corresponden al doble del valor de las propiedades correspondientes originales lo mas simple es reproducir el pixel original en los vecinos mapeados.

• Si nos enfocamos en el pixel que se encuentra en la coordenada

corriente (x, y), entonces en la imagen ampliada le corresponderán cuatro pixeles en la coordenada (2x, 2y) en la imagen ampliada, en la figura siguiente se muestra el fenómeno.

(27)

Ampliación y reducción simples

(28)

• Para el caso de la reducción simple, hay que considerar que la

imagen resultante tendrá la mitad de ancho y alto respecto a la original, por lo que el método consiste la inserción de los pixeles pares de la imagen original (0, 2, 4, 6,…) en la imagen resultante y en la eliminación sistemática de pixeles intercalados (1, 3, 5, 7,… ) de la imagen original.

• El proceso se debe hacer en las dos dimensiones de la imagen

original, por tanto en este caso se perderá información al realizarse la reducción.

(29)

• Es claro que al realizar este proceso se pierde el 75% de la

información que contiene la imagen original y en caso que no se guarde una copia de ella el proceso inverso no recuperará dicha información.

• En la figura siguiente se hace muestra el efecto de éstos dos

procesos.

(30)

Ampliación y reducción simples

(a) (b) (c)

(31)

5.3.2 Métodos de

interpolación

(32)

• En general se denomina interpolación a la obtención de nuevos

puntos partiendo del conocimiento de un conjunto discreto de puntos.

• De este modo, el problema trata de que a partir de n parejas

de puntos (xk, yk), se pueda obtener una función f que

verifique:

a la que se denomina función interpolante de dichos puntos con k = 1,…,n. A los puntos xk se les llama nodos.

Métodos de interpolación

(33)

• A l g u n a s f o r m a s d e

interpolación que se utilizan con frecuencia son la interpolación lineal, la interpolación polinómica (de la cual la anterior es un caso particular), la interpolación por medio d e s p l i n e o l a interpolación polinómica de Hermite.

Métodos de interpolación

Interpolación lineal: la línea azul representa la interpolación lineal entre los puntos rojos.

(34)

• Por ejemplo, en la interpolación lineal se utilizan dos puntos,

(xa, ya) y (xb, yb), para obtener un tercer punto interpolado

(x, y) a partir de la siguiente fórmula:

• La interpolación lineal es rápida y sencilla, pero no muy precisa.

• En el campo de la fotografía y de las imágenes digitales, la

interpolación aplica este mismo método para conseguir un tamaño mayor de la imagen inicial, rellenando la información que falta con datos que no existen en la imagen original a partir de un algoritmo.

Métodos de interpolación

(35)

• Así, la interpolación consiste en el proceso para estimar los

valores de intensidad de los pixeles de una imagen en una posición cualquiera, como una función de los pixeles que lo rodean.

Métodos de interpolación

(36)

• Los algoritmos de interpolación se pueden agrupar en dos

categorías.

• Algoritmos no adaptativos: estos métodos tratan a todos los

pixeles por igual. Dependiendo de su complejidad, estos usan cualquier número, desde 0 a 256 (o más) de los pixeles adyacentes para la interpolación. Mientras más pixeles adyacentes se incluyan, la interpolación será más precisa, a expensas del tiempo de procesamiento. Estos algoritmos se pueden usar tanto para distorsionar como cambiar el tamaño de una foto. Aquí se incluyen los métodos del vecino más cercano, bilineal, bicúbica, esplines, sinc, lanczos y otros.

(37)

• Algoritmos adaptativos: cambian dependiendo de lo que están

interpolando, es decir, intentan encontrar un balance entre los bordes nítidos y las textura suaves. En muchos casos se aplica una versión diferente del algoritmo (que trabajan pixel por pixel) cuando detectan la presencia de un borde, con el objetivo de minimizar los artefactos de interpolación antiestéticos en las regiones donde son más evidentes. Estos algoritmos están diseñados principalmente para maximizar detalles libres de artefactos en fotografías ampliadas, por lo que algunos no pueden ser utilizados para distorsionar o girar una imagen. En esta categoría se incluyen muchos algoritmos en software con licencia, tales como: Qimage, Pro PhotoZoom, Genuine Fractals y otros.

(38)

• Se verán tres métodos no apdaptativos para realizar la

interpolación y los tres funcionan de forma similar.

• En cada caso para determinar el valor de un pixel interpolado

primero se encuentra el punto en la imagen original que corresponde a la imagen interpolada.

• Luego, se asigna el valor del pixel interpolado calculando el

promedio ponderado de el conjunto de pixeles hallados en la vecindad de dicho punto.

• Los tres métodos difieren en general el conjunto de pixeles que

se consideran.

(39)

• Uno de los algoritmos más simples de interpolación es

interpolación de vecino más cercano. En este método, la parte fraccionaria de las coordenadas del pixel se descartan y el valor de brillo de los pixeles en la dirección resultante en la imagen de origen se copia en la imagen ampliada.

• Debido a la inexactitud de la correspondencia espacial entre las

dos imágenes, se harán más copias de ciertos pixeles de la imagen original que a otros.

• Esto puede resultar en distorsión espacial de las características

de la imagen con zoom y la interpolación resultante del vecino más próximo es por lo tanto poco confiable.

(40)

• Para factores de zoom pares (como 2X y 4X), la interpolación

del vecino más cercano produce los mismos resultados que el método de ampliación y reducción simples antes visto.

• En este caso, se supone que el pixel a ser interpolado toma el

mismo valor que el más cercano de entre los cuatro que lo rodean; por eso el nombre de vecino más próximo.

(41)

• En matemáticas, la interpolación bilineal es una extensión de la

interpolación lineal para interpolar funciones de dos variables (por ejemplo, x y y) en un plano de 2D regular.

• La función de interpolación no debe usar el término de x2 o y2,

pero si el xy, que es la forma bilineal de x y y.

• La idea clave es realizar la interpolación lineal primero en una

dirección y luego en la otra. Aunque cada paso es lineal en los valores de las muestras y en la posición, la interpolación en su conjunto no es lineal sino cuadrática en la ubicación de la muestra.

(42)

• Supongamos que se

desea encontrar el valor d e l a f u n c i ó n f , desconocida en el punto

P = (x, y) (ver figura).

• S e s u p o n e q u e s e

conoce el valor de f en los cuatro puntos Q11 =

(x, y1), Q12 = (x1, y2),

Q21 = (x2, y1) y Q22 =

(x2, y2).

Interpolación bilineal

Los cuatro puntos rojos muestran los puntos de los datos y el punto verde es el punto a interpolar.

(43)

• En el contexto de imágenes digitales, la interpolación bilineal

utiliza los 4 valores de los pixeles más próximos que están situados en direcciones diagonales de un pixel dado con el fin de encontrar los valores de los colores apropiados de intensidad de dicho pixel.

• Es decir, considera la vecindad más cercana de 2×2 valores de

pixeles circundantes en cada posición calculada del pixel desconocido.

• Luego toma un promedio ponderado de los 4 pixeles para

obtener el valor final interpolado.

(44)

• El peso de cada uno de los 4 valores de pixeles se basa en la

distancia calculada de cada pixel (en el espacio 2D) de cada uno de los puntos conocidos.

(45)

• De forma geométrica (figura siguiente-(a)), el valor en el punto

negro es la suma del valor en cada punto de color multiplicado por el área del rectángulo del mismo color, dividida por el área total de todos los cuatro rectángulos.

(46)

Interpolación bilineal

(a) (b)

(a) Representación geométrica de la interpolación bilineal y (b) ejemplo numérico del cálculo de un pixel utilizando interpolación bilineal.

(47)

• Teniendo en cuenta lo anterior, como se ve en el ejemplo de la

figura anterior-(b), el valor de intensidad en el pixel calculado para estar en la fila 20.2, columna 14.5 se puede calcular primero interpolando linealmente entre los valores en la columna 14 y 15 en cada una de las filas 20 y 21, dando:

y después se interpola linealmente entre estos valores, dando como resultado:

(48)

• Este algoritmo reduce parte de la distorsión visual causada por

el cambio de tamaño de una imagen en un factor de zoom no entero, a diferencia de la interpolación del vecino más cercano, lo que hará aparecer algunos pixeles más grandes que otros en la imagen redimensionada.

• La interpolación bilineal tiende sin embargo a producir un

mayor número de artefactos de interpolación (como aliasing, efectos de difuminado y halos de borde) que técnicas computacionalmente más exigentes, tales como la de interpolación bicúbica.

(49)

• En matemáticas, la interpolación bicúbica es una extensión de la

interpolación cúbica para la interpolación de puntos de datos en base a una malla regular dimensional.

• La interpolación bicúbica se puede lograr ya sea utilizando

polinomios de Lagrange, esplines cúbicos, o con el algoritmo de convolución cúbica.

• En el procesamiento de imágenes, la interpolación bicúbica se

prefiere generalmente en lugar de la interpolación bilineal o la del vecino más cercano para el remuestreo de imagen, cuando la velocidad no es un problema.

(50)

• En contraste con la interpolación bilineal, que sólo toma en

cuenta 4 pixeles (2×2), la interpolación bicúbica considera 16 pixeles (4×4).

• Así, el método de la Interpolación bicúbica implica ajustar una

serie de polinomios cúbicos a los valores de brillo contenidos en una matriz de pixeles de 4×4 que rodean la dirección calculada.

• En primer lugar, cuatro polinomios cúbicos, f(i) (con i = 0, 1,

2, 3) están instalados en los puntos de control en la dirección y

(la elección de la dirección de partida es arbitraria).

(51)

• A continuación, la parte fraccionaria de la dirección del pixel

calculada en la dirección del eje y se usa para encajar con otro polinomio de tercer grado en la dirección x, en base a los valores de brillo interpolados que se encuentran en las curvas.

• Sustituyendo la parte fraccionaria de la dirección del pixel

calculada en la dirección x en el polinomio cúbico resultante proporciona entonces el valor de brillo del pixel interpolado.

• Lo anterior se resumen en la figura siguiente.

(52)

Interpolación bicúbica

(53)

• La elección del polinomio utilizado en el algoritmo de

interpolación bicúbica puede tener un impacto significativo en la precisión y la calidad visual de la imagen interpolada.

• Los esplines son funciones polinómicas a trozos que se suelen

utilizar en los algoritmos de interpolación bicúbica.

• Un requisito importante de los esplines utilizados para la

interpolación bicúbica es que siempre se deben interpolar los valores de brillo de los pixeles contenidos en la rejilla de control de 4×4.

(54)

• Debido a que muchas de las funciones de esplines tienen

parámetros de control que están sujetos a la elección del programador, la posibilidad de poder reproducir los resultados, se convierte en un problema cuando se desean comparan los resultados de los algoritmos de interpolación bicúbica entre imágenes.

• Dado que las imágenes remuestreadas usando la interpolación

bicúbica son más suaves y tienen menos artefactos de interpolación, es el método usada por programas como Adobe Photoshop o Paint Shop Pro, y es el método de interpolación considerado estándar (promedia 16 pixeles adyacentes).

(55)

• Photoshop además usa algunas variaciones como interpolación

bicúbica enfocada o interpolación bicúbica suavizada que se basa en aplicar algunos cambios a la imagen final.

(56)
(57)

Ejemplos interpolación

(58)

Ejemplos interpolación

(59)

Ejemplos interpolación

(60)

• En la reducción, es evidente que se pierde información original

de la imagen, generalmente sin efectos de pixelado.

• Sin embargo, en caso de existir cambios bruscos en la tonalidad

de los pixeles, se pueden presentar efectos indeseables.

• En el caso de la reducción simple, la imagen resultante va a

contener los pixeles en las renglones/columnas pares (o impares) de la imagen original.

(61)

• Pero para disminuir la posibilidad de artefactos, al igual que en

la ampliación, un valor de pixel se puede obtener a partir de la aplicación de algún método, ya sea de interpolación o de otro tipo.

• Por ejemplo, un valor de pixel se puede obtener a partir del

promedio de los pixeles vecinos (figura siguiente):

Reducción de pixeles

(62)

Reducción de pixeles

Referencias

Documento similar

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

6 Para la pervivencia de la tradición clásica y la mitología en la poesía machadiana, véase: Lasso de la Vega, José, “El mito clásico en la literatura española

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

La Ley 20/2021 señala con carácter imperativo los procesos de selección. Para los procesos de estabilización del art. 2 opta directamente por el concurso-oposición y por determinar

Sólo que aquí, de una manera bien drástica, aunque a la vez coherente con lo más tuétano de sí mismo, la conversión de la poesía en objeto -reconocida ya sin telarañas