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.