|
|
|
|
6
|
![main2.png](images/main2.png)
|
6
|
![main2.png](images/main2.png)
|
7
|
![main3.png](images/main3.png)
|
7
|
![main3.png](images/main3.png)
|
8
|
|
8
|
|
|
|
9
|
+[versión 2016-4-15]
|
|
|
10
|
+
|
9
|
Los arreglos de datos (*arrays*) nos facilitan guardar y trabajar con grupos de datos del mismo tipo. Los datos se guardan en espacios de memoria consecutivos a los que se puede acceder utilizando el nombre del arreglo e índices o suscritos que indican la posición en que se encuentra el dato. Las estructuras de repetición nos proveen una manera simple de acceder a los datos de un arreglo. En la experiencia de laboratorio de hoy practicarás el uso de ciclos anidados en la manipulación de arreglos bi-dimensionales usando técnicas de "pantalla verde".
|
11
|
Los arreglos de datos (*arrays*) nos facilitan guardar y trabajar con grupos de datos del mismo tipo. Los datos se guardan en espacios de memoria consecutivos a los que se puede acceder utilizando el nombre del arreglo e índices o suscritos que indican la posición en que se encuentra el dato. Las estructuras de repetición nos proveen una manera simple de acceder a los datos de un arreglo. En la experiencia de laboratorio de hoy practicarás el uso de ciclos anidados en la manipulación de arreglos bi-dimensionales usando técnicas de "pantalla verde".
|
10
|
|
12
|
|
11
|
|
13
|
|
|
|
|
|
30
|
|
32
|
|
31
|
3. Haber estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
33
|
3. Haber estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
32
|
|
34
|
|
33
|
-4. Haber tomado el quiz Pre-Lab que se encuentra en Moodle.
|
|
|
|
|
35
|
+
|
34
|
|
36
|
|
35
|
---
|
37
|
---
|
36
|
|
38
|
|
|
|
|
|
208
|
|
210
|
|
209
|
####Instrucciones
|
211
|
####Instrucciones
|
210
|
|
212
|
|
211
|
-1. Carga a QtCreator el proyecto `GreenScreen` haciendo doble "click" en el archivo `GreenScreen.pro` en el directorio `Documents/eip/Arrays-GreenScreen` de tu computadora. También puedes ir a `http://bitbucket.org/eip-uprrp/arrays-greenscreen` para descargar la carpeta `Arrays-GreenScreen` a tu computadora.
|
|
|
|
|
213
|
+1. Descarga la carpeta `Arrays-GreenScreen` de `Bitbucket` usando un terminal, moviéndote al directorio `Documents/eip`, y escribiendo el comando `git clone http://bitbucket.org/eip-uprrp/arrays-greenscreen`.
|
|
|
214
|
+
|
|
|
215
|
+2. Carga a Qt creator el proyecto `GreenScreenLab` haciendo doble "click" en el archivo `GreenScreenLab.pro` que se encuentra en la carpeta `Documents/eip/Arrays-GreenScreen` de tu computadora.
|
|
|
216
|
+
|
212
|
|
217
|
|
213
|
-2. Compila y corre el programa. El código que te proveemos crea la interfaz de la Figura 5. Los botones *Select Image* y *Select Background Image* ya han sido programados.
|
|
|
|
|
218
|
+3. Configura el proyecto y corre el programa. El código que te proveemos crea la interfaz de la Figura 5. Los botones *Select Image* y *Select Background Image* ya han sido programados.
|
214
|
|
219
|
|
215
|
---
|
220
|
---
|
216
|
|
221
|
|
|
|
|
|
220
|
|
225
|
|
221
|
---
|
226
|
---
|
222
|
|
227
|
|
223
|
-3. Marca el botón para cargar una imagen del objeto de interés sobre fondo sólido, luego marca el botón para seleccionar la imagen para el fondo. El directorio con los archivos fuente contiene una carpeta llamada `landscapes` que contiene imágenes de fondo, y una carpeta llamada `green_background` que contiene imágenes de objetos sobre fondo de color sólido.
|
|
|
|
|
228
|
+4. Marca el botón para cargar una imagen del objeto de interés sobre fondo sólido, luego marca el botón para seleccionar la imagen para el fondo. El directorio con los archivos fuente contiene una carpeta llamada `landscapes` que contiene imágenes de fondo, y una carpeta llamada `green_background` que contiene imágenes de objetos sobre fondo de color sólido.
|
224
|
|
229
|
|
225
|
-4. Tu primera tarea es completar la función `MergeImages` en el archivo `Filter.cpp`. La función `MergeImages` se invoca cuando el usuario marca el botón `Merge Images` y cuando se desliza la barra. La función `MergeImages` recibe las referencias a la imagen con objeto de interés y fondo sólido, la imagen para el fondo y la imagen compuesta, un valor umbral, las coordenadas `(x,y)` de un píxel de la imagen del objeto sobre fondo sólido, y las coordenadas `(offset_x, offset_y)` de la imagen compuesta.
|
|
|
|
|
230
|
+5. Tu primera tarea es completar la función `MergeImages` en el archivo `Filter.cpp`. La función `MergeImages` se invoca cuando el usuario marca el botón `Merge Images` y cuando se desliza la barra. La función `MergeImages` recibe las referencias a la imagen con objeto de interés y fondo sólido, la imagen para el fondo y la imagen compuesta, un valor umbral, las coordenadas `(x,y)` de un píxel de la imagen del objeto sobre fondo sólido, y las coordenadas `(offset_x, offset_y)` de la imagen compuesta.
|
226
|
|
231
|
|
227
|
Para este ejercicio puedes ignorar el filtro "fantasma" `ghost` y las coordenadas `(offset_x, offset_y)`, y solo componer la imagen con el objeto de interés en la imagen de fondo, comenzando en la posición `(0,0)`.
|
232
|
Para este ejercicio puedes ignorar el filtro "fantasma" `ghost` y las coordenadas `(offset_x, offset_y)`, y solo componer la imagen con el objeto de interés en la imagen de fondo, comenzando en la posición `(0,0)`.
|
228
|
|
233
|
|