|
|
|
|
4
|
![main2.png](images/main2-small.png)
|
4
|
![main2.png](images/main2-small.png)
|
5
|
![main3.png](images/main3-small.png)
|
5
|
![main3.png](images/main3-small.png)
|
6
|
|
6
|
|
|
|
7
|
+[Verano 2016 - Ive]
|
7
|
|
8
|
|
8
|
Dos tareas comunes cuando se trabaja con arreglos de datos son buscar datos y ordenarlos de forma ascendente o descendente. Dos algoritmos de ordenamiento sencillos y bien conocidos son el ordenamiento de selección (Selection sort) y el ordenamiento por burbujas (Bubble sort). Los algoritmos de ordenamiento forman parte de muchos programados; por ejemplo, listas de contactos, hojas de cálculo y motores de búsqueda. En esta experiencia de laboratorio completarás una aplicación para procesar imágenes y practicarás el uso de algoritmos de ordenamiento. También aprenderás sobre la biblioteca `QImage` de `Qt` y sobre el filtro de mediana utilizado en el procesamiento de imágenes para remover "ruido", en este caso un turista impertinente.
|
9
|
Dos tareas comunes cuando se trabaja con arreglos de datos son buscar datos y ordenarlos de forma ascendente o descendente. Dos algoritmos de ordenamiento sencillos y bien conocidos son el ordenamiento de selección (Selection sort) y el ordenamiento por burbujas (Bubble sort). Los algoritmos de ordenamiento forman parte de muchos programados; por ejemplo, listas de contactos, hojas de cálculo y motores de búsqueda. En esta experiencia de laboratorio completarás una aplicación para procesar imágenes y practicarás el uso de algoritmos de ordenamiento. También aprenderás sobre la biblioteca `QImage` de `Qt` y sobre el filtro de mediana utilizado en el procesamiento de imágenes para remover "ruido", en este caso un turista impertinente.
|
9
|
|
10
|
|
|
|
|
|
143
|
|
144
|
|
144
|
### Ejemplos:
|
145
|
### Ejemplos:
|
145
|
|
146
|
|
146
|
-1) `QRgb myRgb = qRgb(0xff, 0x00, 0xff);`: Asigna a `myRgb` el valor `0xff00ff` que representa el color ![figure3.png](images/figure3.png)
|
|
|
|
|
147
|
+1. `QRgb myRgb = qRgb(0xff, 0x00, 0xff);`: Asigna a `myRgb` el valor `0xff00ff` que representa el color ![figure3.png](images/figure3.png)
|
147
|
|
148
|
|
148
|
- Nota que el valor `0xff00ff` representa los valores `0xff`, `0x0`, `0xff`, que corresponden a los componentes rojo, verde y azul de `myRgb`.
|
|
|
|
|
149
|
+ Nota que el valor `0xff00ff` representa los valores `0xff`, `0x0`, `0xff`, que corresponden a los componentes rojo, verde y azul de `myRgb`.
|
149
|
|
150
|
|
150
|
-2) Si la siguiente imagen `4 x 4` de píxeles representa el objeto `originalImage`,
|
|
|
|
|
151
|
+2. Si la siguiente imagen `4 x 4` de píxeles representa el objeto `originalImage`,
|
151
|
|
152
|
|
152
|
![main1.png](images/main1.png)
|
153
|
![main1.png](images/main1.png)
|
153
|
|
154
|
|
154
|
entonces `originalImage.pixel(2,1)` devuelve un valor `rgb` que representa el color azul (`0x0000ff`).
|
155
|
entonces `originalImage.pixel(2,1)` devuelve un valor `rgb` que representa el color azul (`0x0000ff`).
|
155
|
|
156
|
|
156
|
-3) La siguiente instrucción asigna el color rojo al píxel en posición `(2,3)` en la imagen editada:
|
|
|
|
|
157
|
+3. La siguiente instrucción asigna el color rojo al píxel en posición `(2,3)` en la imagen editada:
|
157
|
|
158
|
|
158
|
`editedImage.setPixel(2,3,qRgb(0xff,0x00,0x00));`.
|
159
|
`editedImage.setPixel(2,3,qRgb(0xff,0x00,0x00));`.
|
159
|
|
160
|
|
160
|
-
|
|
|
161
|
-4) La siguiente instrucción le asigna a `greenContent` el valor del tono de verde que contiene el pixel `(1,1)` de `originalImage`:
|
|
|
|
|
161
|
+4. La siguiente instrucción le asigna a `greenContent` el valor del tono de verde que contiene el pixel `(1,1)` de `originalImage`:
|
162
|
|
162
|
|
163
|
`int greenContent = qGreen(originalImage.pixel(1,1));`.
|
163
|
`int greenContent = qGreen(originalImage.pixel(1,1));`.
|
164
|
|
164
|
|
165
|
-
|
|
|
166
|
-5) El siguiente código le asigna al componente rojo del píxel `(1,1)` de `editedImage` el promedio de los valores del tono de rojo que contiene el píxel `(1,1)` de `originalImage1` y `originalImage2` y lo mismo hace con los componentes verde y de azul.
|
|
|
|
|
165
|
+5. El siguiente código le asigna al componente rojo del píxel `(1,1)` de `editedImage` el promedio de los valores del tono de rojo que contiene el píxel `(1,1)` de `originalImage1` y `originalImage2` y lo mismo hace con los componentes verde y de azul.
|
167
|
|
166
|
|
168
|
---
|
167
|
---
|
169
|
|
168
|
|