obtención de la imagen 1. representación y manipulación de la escena. 2. definir la cámara y...

45
Discretización CRT o pantalla: Formado por pixels. 1. on-off 2. Niveles de gris. 3. Coloreados.

Upload: rita-leyba

Post on 23-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Discretización

• CRT o pantalla: Formado por pixels. 1. on-off

2. Niveles de gris.

3. Coloreados.

Page 2: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Discretización

• Es una matriz, problemas: 1. Pérdida de información.

2. Pueden aparecer huecos o falta de continuidad.

3. Aliasing.Aliasing. Nuestro cerebro busca símiles (alias).

4. Gran cantidad de cálculo. Circuitos integrados.

Page 3: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Líneas y curvas. Algoritmos incrementales

• Para rectas con pendiente entre 0 y 1 (ecuación explícita).

• Basándose en el pixel anterior.

• Multiplicación, suma y redondeo.

• Uso muy frecuente y debe ser muy eficiente.

kmx)y(x xx iii-i 11

m)y(xmkmxk) m(xkmx)y(x iiiii 111

Page 4: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Líneas y curvas. Algoritmos incrementales

Asumimos que la pendiente está entre 0 y 1

Page 5: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Líneas y curvas. Algoritmos incrementales

• No vale para circunferencias, ni duplicando el número de pixels.

Page 6: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Líneas y curvas. Algoritmos incrementales

• Hay que completar los datos con los anteriores.

Page 7: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Algoritmos DDA

• Basándonos en la ecuación diferencial de 1er. orden.

• Solución mediante métodos numéricos.

• Forma:

• Como ejemplo Euler:

• Por tanto:

y ) y(xF(x,y) y conocido siendo 00

i

i

x

yy

x xx

x)y,F(xyy

ii

iiiii

1

1

Page 8: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Distancia entre la línea y el centro del pixel = Error asociado a ese pixel

Page 9: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Algoritmo de Brasenham

• Caso a:

• Como :

• Por tanto:

r.yr

r).(yintrr

iii

iiii

150

50

1

11

50

5050

150

150

.em

.em.

e.me

ey.myey

i

i

ii

iiiii

myyeyr iiiii 1y

m ermyrye iiiiii 111

Page 10: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Algoritmo de Brasenham

• Caso b:

• Como:

• Por tanto:

r.yr

r).(yintrr

iii

iiii

2501

1501

1

11

i

i

ii

iiiii

em.

.em.

e.me

ey.myey

50

5150

2501

2501

myyeyr iiiii 1y

11111 m ermyrye iiiiii

Page 11: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 12: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Relleno de polígonos

• Dibujar los lados es fácil.

• Rellenar el interior no tan fácil.

Page 13: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Relleno de polígonos

• ¿ Punto interno? Teorema de Jordan. – Si la recta que va del punto al infinito corta un número impar de

veces es interno.

Page 14: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Test interno-externo

Page 15: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Relleno de polígonos

• En la práctica hay problemas:

Page 16: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Relleno de polígonos

• La mayoría de los casos:

• Solución: En caso de vértice superior contarlo.

• Línea a línea

Page 17: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Relleno de polígonos: Casos especiales

Toca pixel Pixel fuera

Cambio de paridad

No cambio de paridad

No cambio de paridad

Page 18: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Algoritmo línea a línea

• Tratar las líneas entre Ymax e Ymin .

• Coherencia de la línea. Secuencias.

• Guardar los cortes y utilizarlos de dos en dos.

Page 19: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Algoritmo línea a línea

• Algoritmo: 1. Obtener los cortes de la línea con el polígono.

2. Ordenarlos por x.

3. Tratarlos de par en par.

• ¿ Reutilizar información al cambiar de línea?

Page 20: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Aliasing

• En base a la discretización de un objeto, ver otro distinto.

• Razón principal: representación mediante muestreo.

Page 21: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Aliasing

Dos tipos fundamentales:

•Patrones moire: surgen en el warping de la imagen y en el mapeado de texturas

•Jaggies: surgen en el renderizado

Nótese jaggies en el primer plano

Page 22: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 23: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 24: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Aliasing (punto)

La pantalla no posee suficiente resolución para marcar el punto

Antialiasing (punto)

Reemplazar el punto por un pixel activo

Page 25: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 26: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Aliasing

• Asignamos a todo el pixel el valor que le corresponde al centro.

• En las animaciones pueden aparecer pixels destelleantes.

• Se da mucho en los siguientes casos:

– Cambio de intensidad de luz y/o color

– Parpadeos que pueden ser producidos por objetos pequeños en

las animaciones.

Page 27: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Antiliasing

• Métodos principales de antialiasing: 1. Sobremuestreo o supersampling.

2. Realizar una aproximación de filtros antialiasing 2D y eliminar altas frecuencias.

3. Muestreo estocástico.

• Como el origen es el muestreo, conviene que sea lo más continuo posible. La tecnología es un límite.

Page 28: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Supersampling

• Se realiza en tres pasos: 1. Realizar un muestreo superior a la resolución del dispositivo.

Por cada pixel se calculan nn.

2. Aplicar un filtro al muestreo.

3. Obtenemos la imagen a la resolución del dispositivo.

• A más subpixels más cálculos.

• El incremento de cálculo es del orden de n2. • En la adecuación a pixels reales se puede utilizar un filtro

con pesos.

Page 29: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Supersampling

• Asignando pesos mayores a los subpixels centrales se obtienen mejores resultados.

• Para una imagen de 512512 y utilizando pixels de 55

subpixels habría que realizar 51251225 multiplicaciones y sumas.

• Puede requerir mucha memoria.

Page 30: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Image Filtering: Blurring

original, 64x64 pixels 3x3 blur 5x5 blur

Page 31: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Image Filtering: Edge Detection

horizontal derivative vertical derivative

Page 32: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Figura original

Page 33: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Siluetas dentadas (jagging): •El dibujo de la izquierda representa el muestreo realizado a la imagen original. •La parte de la derecha es la renderizada.•Son muy frecuentes donde existe un mayor contraste entre el interior y exterior de la silueta.

Pérdida del detalle: •A la izquierda se muestran un grupo pequeño de polígonos de la imagen original.•A la derecha se muestra la escena renderizada.

•Puede apreciarse la gran pérdida del detalle

Page 34: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 35: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 36: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 37: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 38: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación
Page 39: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Muestreo de superficies

• Se basa en la geometría interna del pixel.

• Tiene en cuenta las partes del pixel que ocupa cada objeto.

• Calculando lo que ocupa cada objeto asigna la intensidad del pixel.

• Cálculos:

1.Calcular lo que ocupa cada objeto en la superficie correspondiente al pixel.

2.Determinar la visibilidad de esas partes.

3.Calcular la intensidad en función de los que son visibles.

Page 40: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Más que muestrear, lo que hacemos es integrar.

Los números representan la fracción del área que cubre el objeto en dicho pixel.

Funciona bien cuando el objeto se encuentra lejos.

Page 41: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Muestreo estocástico

• Los fotoreceptores del ojo no estan uniformemente distribuidos.

• Cambiamos aleatoriamente los puntos de muestreo.

• Pasos: 1. Obtener muestreo de la imagen asignando a cada punto un

cambio aleatorio.

2. Aplicar un filtro a la muestra del paso anterior a fin de obtener la intensidad de los pixels.

• El cambio introduce ruido en la imagen, pero a su vez disminuye el efecto aliasing.

Page 42: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Muestreo estocástico

• Se adecua bien a los métodos de trazado de rayos o ray-tracing.

• Para Z-buffer y Scanline presenta mas dificultades pero han surgido algoritmos basados en microsuperficies que realizan muestreo estocástico.

Page 43: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Jittering: Elegir un punto aleatoriamente (uniforme) del dominio

Fácil de realizar.

Generalmente se emplea este muestreo estocástico junto a supersampling.

Muestreo más normal: 16 ejemplos/pixel

Page 44: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Muestreo estocástico 256 ej/pixel

Muestreo por línea

Muestreo regular 18 ej/pixel

Muestreo estocástico 16 ej/pixel

Page 45: Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación

Muestreo estocástico 256 ej/pixel

Muestreo estocástico 16 ej/pixel

Muestreo regular 1 ej/pixel

Muestreo lineal