Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y...
-
Upload
rita-leyba -
Category
Documents
-
view
216 -
download
0
Transcript of Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y...
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/1.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/2.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/3.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/4.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/5.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/6.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/7.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/8.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/9.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/10.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/11.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/12.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/13.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/14.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/15.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/16.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/17.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/18.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/19.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/20.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/21.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/22.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/23.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/24.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/25.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/26.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/27.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/28.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/29.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/30.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/31.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/32.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/33.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/34.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/35.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/36.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/37.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/38.jpg)
![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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/39.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/40.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/41.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/42.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/43.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/44.jpg)
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.](https://reader030.fdocuments.mx/reader030/viewer/2022013012/5665b4751a28abb57c91a28b/html5/thumbnails/45.jpg)
Muestreo estocástico 256 ej/pixel
Muestreo estocástico 16 ej/pixel
Muestreo regular 1 ej/pixel
Muestreo lineal