|
|
|
|
14
|
|
14
|
|
15
|
1. Practicar el acceso y manipulación de datos en un arreglo.
|
15
|
1. Practicar el acceso y manipulación de datos en un arreglo.
|
16
|
|
16
|
|
17
|
-2. Aplicar ciclos anidados para implementar técnicas de "pantalla verde".
|
|
|
|
|
17
|
+2. Utilizar ciclos anidados para implementar técnicas de "pantalla verde".
|
18
|
|
18
|
|
19
|
3. Utilizar expresiones aritméticas y estructuras de selección para transformar colores de píxeles.
|
19
|
3. Utilizar expresiones aritméticas y estructuras de selección para transformar colores de píxeles.
|
20
|
|
20
|
|
|
|
|
|
23
|
|
23
|
|
24
|
##Pre-Lab:
|
24
|
##Pre-Lab:
|
25
|
|
25
|
|
26
|
-Antes de llegar al laboratorio debes:
|
|
|
|
|
26
|
+Antes de llegar al laboratorio debes haber:
|
27
|
|
27
|
|
28
|
-1. Haber repasado los conceptos básicos relacionados a estructuras de repetición, ciclos anidados y arreglos bi-dimensionales.
|
|
|
|
|
28
|
+1. Repasado los conceptos básicos relacionados a estructuras de repetición, ciclos anidados y arreglos bi-dimensionales.
|
29
|
|
29
|
|
30
|
-2. Conocer los métodos básicos de `QImage` para manipular los pixeles de las imágenes.
|
|
|
|
|
30
|
+2. Entendido los métodos básicos de `QImage` para manipular los pixeles de las imágenes.
|
31
|
|
31
|
|
32
|
-3. Haber estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
|
|
|
|
32
|
+3. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
33
|
|
33
|
|
34
|
-4. Haber visitado la siguiente página de Facebook para ver cómo se ha usado la tecnología de pantalla verde en algunas películas de Hollywood: https://www.facebook.com/video.php?v=920387528037801
|
|
|
|
|
34
|
+4. Visitado la siguiente página de Facebook para ver cómo se ha usado la tecnología de pantalla verde en algunas películas de Hollywood: https://www.facebook.com/video.php?v=920387528037801
|
35
|
|
35
|
|
36
|
-5. Haber tomado el quiz Pre-Lab disponible en Moodle.
|
|
|
|
|
36
|
+5. Tomado el quiz Pre-Lab, disponible en Moodle.
|
37
|
|
37
|
|
38
|
|
38
|
|
39
|
---
|
39
|
---
|
|
|
|
|
108
|
* `qRgb(int red, int green, int blue)` // devuelve un píxel `QRgb` compuesto de los valores de rojo, verde y azul recibidos.
|
108
|
* `qRgb(int red, int green, int blue)` // devuelve un píxel `QRgb` compuesto de los valores de rojo, verde y azul recibidos.
|
109
|
|
109
|
|
110
|
|
110
|
|
111
|
-####Ejemplos:
|
|
|
|
|
111
|
+####Ejemplos
|
112
|
|
112
|
|
113
|
1. `QRgb myRgb = qRgb(0xff, 0x00, 0xff);`: Asigna a `myRgb` el valor `0xff00ff` que representa el color ![figure4.png](images/figure4.png)
|
113
|
1. `QRgb myRgb = qRgb(0xff, 0x00, 0xff);`: Asigna a `myRgb` el valor `0xff00ff` que representa el color ![figure4.png](images/figure4.png)
|
114
|
|
114
|
|
|
|
|
|
210
|
* `(offset_x, offset_y)`: coordenadas de la imagen compuesta en donde la esquina superior izquierda de la imagen del objeto sobre fondo sólido será insertada. El valor predeterminado es `(0,0)`.
|
210
|
* `(offset_x, offset_y)`: coordenadas de la imagen compuesta en donde la esquina superior izquierda de la imagen del objeto sobre fondo sólido será insertada. El valor predeterminado es `(0,0)`.
|
211
|
|
211
|
|
212
|
|
212
|
|
213
|
-###Ejercicio 1: Crear imagen compuesta
|
|
|
|
|
213
|
+###Ejercicio 1 - Crear imagen compuesta
|
214
|
|
214
|
|
215
|
####Instrucciones
|
215
|
####Instrucciones
|
216
|
|
216
|
|
|
|
|
|
244
|
Prueba tu implantación cargando imágenes de objetos e imágenes para el fondo y verificando la imagen compuesta.
|
244
|
Prueba tu implantación cargando imágenes de objetos e imágenes para el fondo y verificando la imagen compuesta.
|
245
|
|
245
|
|
246
|
|
246
|
|
247
|
-###Ejercicio 2: Crear imagen compuesta usando filtro `ghost`
|
|
|
|
|
247
|
+###Ejercicio 2 - Crear imagen compuesta usando filtro `ghost`
|
248
|
|
248
|
|
249
|
En este ejercicio modificarás el Ejercicio 1 para aplicar el filtro fantasma a cada uno de los píxeles que se compondrán sobre la imagen de fondo en el caso de que la variable `ghost` sea cierta. El filtro fantasma creará el efecto de que el objeto en la imagen compuesta se verá como un "fantasma" sobre la imagen de fondo, como en la Figura 6.
|
249
|
En este ejercicio modificarás el Ejercicio 1 para aplicar el filtro fantasma a cada uno de los píxeles que se compondrán sobre la imagen de fondo en el caso de que la variable `ghost` sea cierta. El filtro fantasma creará el efecto de que el objeto en la imagen compuesta se verá como un "fantasma" sobre la imagen de fondo, como en la Figura 6.
|
250
|
|
250
|
|
|
|
|
|
266
|
en donde $$N_R, N_G, N_B$$ son los componentes rojo, verde y azul del nuevo píxel fantasma, $$S_R, S_G, S_B$$ son los componentes de la imagen del objeto, y $$B_R, B_G, B_B$$ son los componentes de la imagen de fondo.
|
266
|
en donde $$N_R, N_G, N_B$$ son los componentes rojo, verde y azul del nuevo píxel fantasma, $$S_R, S_G, S_B$$ son los componentes de la imagen del objeto, y $$B_R, B_G, B_B$$ son los componentes de la imagen de fondo.
|
267
|
|
267
|
|
268
|
|
268
|
|
269
|
-###Ejercicio 3: Crear imagen compuesta colocando el objeto en una posición específica
|
|
|
|
|
269
|
+###Ejercicio 3 - Crear imagen compuesta colocando el objeto en una posición específica
|
270
|
|
270
|
|
271
|
El "widget" que despliega el fondo fue programado para que detecte la posición marcada por el usuario. En este ejercicio programarás la función `MergeImages` para que el objeto sea desplegado en la posición marcada por el usuario en la imagen de fondo, en lugar de ser desplegado en la esquina superior izquierda. Las Figuras 7 y 8 muestran el efecto. Nota los valores de `Selected Coord` bajo la imagen del medio.
|
271
|
El "widget" que despliega el fondo fue programado para que detecte la posición marcada por el usuario. En este ejercicio programarás la función `MergeImages` para que el objeto sea desplegado en la posición marcada por el usuario en la imagen de fondo, en lugar de ser desplegado en la esquina superior izquierda. Las Figuras 7 y 8 muestran el efecto. Nota los valores de `Selected Coord` bajo la imagen del medio.
|
272
|
|
272
|
|
|
|
|
|
317
|
|
317
|
|
318
|
##Entrega
|
318
|
##Entrega
|
319
|
|
319
|
|
320
|
-Utiliza "Entrega" en Moodle para entregar el archivo `Filter.cpp` que contiene la función `MergeImages`. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
|
|
|
|
|
320
|
+Utiliza "Entrega" en Moodle para entregar el archivo `Filter.cpp` que contiene la función `MergeImages`. Recuerda utilizar buenas prácticas de programación, incluya el nombre de los programadores y documenta tu programa.
|
321
|
|
321
|
|
322
|
|
322
|
|
323
|
---
|
323
|
---
|