-
Esta es sólo una sección corta para presentar un tipo de acertijo basado
-
en el tipo de código de manipulación de imágenes que hemos estado trabajando. La idea es, hay una fotografía de algún
-
objeto misterioso, y los valores de rojo, verde y azul en la imagen han sido
-
desordenados de alguna manera. Entonces lo que necesitas hacer es escribir un código para arreglar
-
los valores de rojo, verde y azul, y así revelar la imagen original, y ver qué es.
-
Bien, aquí hay un ejemplo. Voy a hacerlo yo. Este es el llamado "acertijo de oro".
-
Y la idea es, hay algún objeto mostrado aquí. Y lo que pasó con él
-
es que, primero que todo, los valores de verde y azul en la imagen han sido
-
reemplazados con valores aleatorios entre 0 y 255. Y, en realidad, si la ves,
-
esto da una especie de apariencia... "nevosa". Y, como puedes ver hay
-
algunos píxeles en los que el verde es muy alto, algunos pixeles en los que el azul es muy alto;
-
estos se ven simplemente azules o verdes. Y luego hay esta especie de píxeles turquesa esparcidos en toda la imagen;
-
son los casos en los que, tanto el azul como el verde son altos. Entonces este es
-
un nivel de desorden en esta imagen. La otra cosa que pasó
-
es que, la imagen que queremos recuperar está en los
-
valores de rojo. De hecho está exclusivamente en los valores de rojo: el verde y el azul son solo, de cierta forma, basura.
-
Pero los valores han sido divididos por 10, entonces son muy oscuros. Entonces, lo que estamos viendo aquí,
-
en la versión oscura, es, hay una imagen en rojo oscuro
-
detrás y ha sido cubierta por esta especie de nieve aleatoria.
-
verde-azul clara, así que no podemos verla. Entonces, lo que queremos hacer es escribir un código para arreglarla.
-
Déjenme empezar aquí. Como es usual, para este, voy a empezar
-
con solo una área de texto en blanco para escribir el código, y luego, aquí abajo, hay una solución,
-
con el botón de mostrar solución [Show solution]; así que si quieres visitar esta página e intentarlo por ti mismo, puedes hacerlo y lograr el código.
-
De acuerdo, la primera cosa que quiero hacer... así se ve si yo simplemente lo ejecuto así:
-
el ciclo está vacío, así que si lo ejecuto, sólo obtengo la imagen acertijo
-
original. Bien, así que la primera cosa que voy a hacer es decir
-
"pixel-punto-setGreen-cero" [pixel.setGreen(0)].
-
Voy a eliminar los valores de verde. Voy simplemente a deshacerme de ellos
-
y veremos que logramos. Hum, de acuerdo, ahora, bien, está mejor. Ahora, simplemente
-
tenemos esta nieve azul. Al menos hemos logrado deshacernos de la nieve verde,
-
así que me desharé de la nieve azul también. Entonces, digo "pixel-punto-setBlue-cero"; probaré eso.
-
Bien, hum. Me he deshecho de la nieve, pero ahora, el problema es que la
-
imagen, que está en los valores de rojo es tan oscura, que no podemos verla. Así que
-
técnicamente está allí, pero es invisible. Entonces lo que necesito hacer es redimensionarla de vuelta,
-
de acuerdo? Está oscura, sólo necesito hacerla más clara. Así que diré "pixel-punto-setRed-de:
-
pixel-punto-getRed..."; parece algo así como cinco, diez, veinte,
-
en este acertijos. Así que, voy a... En este caso, las instrucciones dicen que fue reducida
-
por un factor de diez. Entonces la amplio de vuelta por un factor de diez.
-
Ja! Aquí vamos. Así que, esta es la imagen solución.
-
Es una fotografía del puente Golden Gate, como se ve del lado de San Francisco. Ahora,
-
es un poco... obviamente, no luce muy bien. Lo que pasó es que, como
-
los datos están exclusivamente en el rojo, aún cuando la recuperamos, se ve solo el rojo. Quiero decir, lo
-
que pasa realmente, es que esta es, esencialmente, una imagen en blanco y negro
-
y normalmente se muestra en una especie de espectro de blanco a negro. En este caso,
-
la imagen está siendo mostrada en un espectro de negro a rojo. Así que esta es la imagen correcta, solo que
-
tiene solo la parte roja. Para esta sección, vamos a decir que es suficientemente bueno, ya sabes,
-
puedes ver lo que se supone que es.
En una sección posterior, mostraré como
-
arreglarla y lograr que se vea como una imagen en blanco y negro propiamente.