En esta sección vamos a tomar las técnicas que hemos construido hasta ahora, hasta con la
bucle de cuatro y si declaración y la media técnica para detectar las áreas de color,
y ponerlos juntos hacer un efecto especial de película real. Por eso este efecto especial
llama proyección azul. Y debo señalar lo que piensas como datos de vídeo
es realmente acaba de hacer una serie de imágenes fijas regulares, sólo mostró algo parecido
20 a 60 veces por segundo. Por lo que para nuestros propósitos sólo haremos el efecto especial
en imágenes fijas, y se puede ver cómo podrá generalizar al cine. Así que la idea es que te
ser un modelo muy simple. Imagine que tiene la imagen de señal de stop. Por lo que tenemos, hemos hablado
acerca del código para detectar el área roja dentro de aquí. Lo de la pantalla azul
efecto, nos estamos va a tener una segunda imagen que llamaré, la imagen de fondo.
Y la idea es que nos podrá detectar las zonas rojas, como lo hemos hecho antes. Pero siempre
Obtengo un píxel aquí en el área roja, Wanna pensar sobre el tipo de
píxel correspondiente sobre de esta otra imagen. Y me vas a copiar ese píxel sobre
sorta rellenar toda el área rojo aquí con píxeles aquí desde otro
imagen. Lo sentimos, es un diagrama un poco más detallado del mismo. Por lo tanto, voy a hacer
ejemplos de un poco más. Pero vamos a tener un bucle de cuatro donde estamos tipo de
bucle a través de esta imagen. Y tendremos un if instrucción que se va a identificar
algunos de los píxeles hasta aquí. Así que vamos a decir que nosotros hemos identificado este píxel en la izquierda
imagen. Para que el píxel tiene algunas coordenadas XY y nosotros no hemos metido con el
XY mucho hasta ahora pero, usted sabe, quizás es de 200 X y y es 100 o lo que sea.
Por lo que queremos hacer es obtener esos dos números. Y luego encontrar el correspondiente
píxel aquí desde la otra imagen. Por lo tanto, tal vez a 200-100, o lo que sea es.
Hay algunos píxeles que coincida. Así que una vez que tenemos esa imagen correspondiente, un
píxel correspondiente de la imagen. Luego queremos copiarlo, para establecer la
píxel aquí. Y ya sabes, cómo? s que va a trabajar, cómo copiar un píxel
¿sobre? Tienes que pensar, ' bueno, ¿qué define a un píxel? ¿Qué hace un píxel
el camino parece?' Y la respuesta es sólo los tres números. Es sólo rojo,
verde y azul. Así que vamos a escribir código para una especie de obtener el valor rojo de
Este píxel aquí y, a continuación, que establece como el valor rojo aquí. Asimismo para
verde y azul. Y estableciendo los tres números sobre los vas a hacer el
píxel sobre esta imagen sólo exactamente el mismo aspecto como el píxel aquí en este
lateral. Por lo tanto, aquí es parte del código, aquí está nuestro primer ejemplo de código para hacer esto. Y más bien
que sorta describir el efecto, creo que en este caso sólo podrá ejecutarla por lo que podemos ver
y, a continuación, lo hablaremos acerca de lo que hacen las líneas. Por lo tanto, aquí vemos el sorta como
se indicó antes, la parada de firmar con todos sus todas las áreas rojas de la señal de stop.
Nos hemos sustituido en píxeles de la imagen lleva en su lugar. Así que permítanme señalar,
el, cómo las partes de este trabajo. En primer lugar, por lo que fuera en todos los ejemplos hasta ahora, creo que
sólo hemos abierto una imagen, pero resulta que puede tener varias imágenes. Así que aquí
Abrir una segunda imagen para el jpeg de hojas, y almacenar en una variable
devolver la llamada. Hasta entonces todo este código que hemos visto antes. Sólo estoy función de bucle en el
señal de Stop y detectar los píxeles rojos. Así que lo interesante es aquí dentro de
Si declaración. ¿Qué hacemos cuando tenemos un píxel rojo. Y rompe sorta
a las tres partes. Estas dos primeras líneas sólo llamar pixel.getX y pixel.getY, y
almacenar los valores resultantes en las variables x e y. Ahora creo que no he usado getX
y getY hasta ahora, pero lo que tho-, quienes lo es simplemente ir a un píxel y
recuperar cualquiera que sea su x, y fuera de ella, por lo tanto muy análoga a la getRed y getBlue.
Por lo que sólo me va a almacenar en estas variables x y. Y entonces en esta línea. ME
tomar esos dos números, x e y. realmente sorta podrá leer dejó a aquí. Por lo tanto
Voy a la imagen de la espalda, por lo es, la imagen de hojas. Y pido getPixel, así que me
¿quieres recuperar un píxel de la misma. Y entonces tengo que darle algunos x y y, en este
caso x e y que i wanna uso es el x, y que fue establecido aquí. Tan esencialmente,
es el x, y del píxel de la parada de firmar imagen, diciendo, lo que sea que x, y,
ir a buscar que s, el píxel en la x de la misma, y de la imagen de hojas. SO. Una vez que tenemos
ese píxel, luego yo sólo voy a iniciar otra variable denominada píxel dos. Por lo tanto
¿Pregunta natural sería como, oh bien no podíamos simplemente pedimos ese píxel? Así nos
no se llama píxel, porque ya estamos usando píxeles para referirse a los píxeles
la imagen de la señal de stop. Así, dos píxeles sólo parecían sorta más obvia otros
nombre que se utilizará. Todos los derechos, así que en este momento, tengo dos píxeles y píxel dos se refiere a
el píxel de la imagen de fondo de la imagen. Y ahora, estos tres
líneas de hacen lo que estaba describiendo antes como una copia. Tan sólo veamos la primera de ellas.
Dice punto de píxel, conjunto rojo. Por lo que hemos visto, como 100 veces. I'm gonna set
el valor del píxel de la imagen de señal de stop rojo. ¿Y qué, ¿qué soy va a establecer
¿ese valor rojo que? Y lo que me va a definir que es, es, punto dos, píxeles, obtener rojo.
Por lo que estoy recibiendo el píxel de la imagen, obteniendo el valor rojo. Así, 160, o
sea lo que sea. Y estoy solo que va a definir en la imagen de señal de stop. Por lo tanto
repetir que para verde y azul, somos simplemente, esencialmente justa, nos estamos copiando el
tres números más. Así que, en efecto, esta copia del píxel. Por lo tanto, es muy
complicado. Quiero hacer algunos ejemplos de esto. Permítanme hacer un segundo ejemplo.
Esto es una imagen del bebé Abby, cuando ella es como seis meses de edad. Bebé poco feliz en
su silla bouncy. Y más tarde cuando ella es una adolescente puede ser loco a mí para utilizar
en este ejemplo. ¿Qué voy a hacer eso, o, en este caso lo que quiero hacer es,
Observe las áreas verdes de la Cátedra bouncy. Quiero que el tipo de copia sobre el
hojas por lo que obtener este tipo de efecto frondosos de bebé de naturaleza. Y, como recordarán, hay
eran básicamente dos cosas que necesitaba hacer en el bucle de aquí. Bueno lo primero que debería
punto, por lo que soy, voy a llamar píxel punto obtener verde, pues si, la prueba. Por lo tanto
el primer problema fue esto. Obtener el píxel de obtener dos. Obtenga el píxel correspondiente.
Y aquí voy a escribir como una sola línea. Por eso digo, vuelta. Así que voy a otro
imagen. Copia píxeles de obtener puntos. Y voy tipo de espacio aquí. Quiero obtener el
píxel de la imagen, y entonces tengo que especificar el x, y. Y aquí lo que
queremos hacer es, bueno, Wanna especificar la x, y y del píxel de la señal de stop
imagen. Y previamente lo que hice por tener x, y variables y bueno, eso está bien. Pero
Estoy, en este caso yo estoy va a compactarlo abajo para hacerlo en una sola línea. Así que realmente
Sólo puedo decir, pixel.getX. Por lo tanto píxel es el píxel de la imagen de señal de stop. Y
Sólo podrá llamar a getX y que obtiene que el valor de x y luego me voy solo, voy a poner
directamente aquí dentro de. La llamada back.getPixel. Así que esta es la misma idea como antes
pero sólo he compactado lo a una línea. Todo derecho, por lo una línea establece
dos que el píxel correspondiente de píxel. Y, a continuación, la segunda cosa que debemos hacer
el bucle es esta copia durante la operación, y que sólo literalmente es el mismo por lo que iré
simplemente, voy copiar que desde aquí arriba. Muy bien. Ahora deshacerse del blanco.
Estas líneas en blanco son inofensivas. Muy bien, así que vamos a tratar, vamos a intentar. Muy bien. Por lo tanto
Puedes ver que tenemos, estamos obteniendo un poco de los datos de la hoja aquí pero
no es un poco delgado. Así que necesitamos hacer esto un poco más pequeño. 2.4 es una
poco más, quieren más. Completar dos. Sólo un poco más y [sonido]
Demasiado. [risa] Muy bien. Así que vamos a tratar de 1.05. Demasiado para mí. Bueno, creo que
eso es bastante bueno. Por lo que se puede ver, es una especie de, ustedes saben, hubo flechas verdes
aquí. Hay una especie de la zona de sombra que tiene, es decir, quizás apenas
verdoso. Y luego hubo algunas mantas verdes aquí que ordenamos de
salpicado estas hojas. Por lo que es, es un lindo efecto. O, es algo inquietante,
derecho, que hemos recibido estos píxeles de la imagen de la hoja y una especie de ponerlos en
esta otra imagen y se ve, bueno, no es totalmente realista. Pero pudo ver
donde, con ajuste, podría conseguir este efecto real. Muy bien, así que vamos a tratar de uno
como las películas. Por lo que el miedo es nuestro mono estrella de cine. Y he tomado una foto de mono
delante de un fondo azul. Es sólo una toalla azul. Verá que el mono es
marrón y tiene una ligera barriga aquí y Hola, esta banana es una especie de una luz
amarillo. Así que si piensas de brown y bronceado y amarillo, son todos tipo de. Por cerca de
¿amarillo, correcto? Así que hay un montón de rojo/verde, solía hacerlo. No mucho
de color azul. Así que separa el fondo azul, en términos de pensar en el mono
en términos de RGB, se va a trabajar bastante bien. Así que aquí es lo que quiero utilizar como el
Fondo. Se trata de un candidato para uno de los cuadros más famosos jamás tomados. Esto
es una imagen tomada por los astronautas de Apolo ocho como lo fueron, estaban en
órbita. Ellos estaban volando alrededor de la Luna, y como vinieron aquí, alrededor de la tierra
loomed. Tipo de mostrar la tierra justo sobre el horizonte de la Luna. [inaudible]
sólo un salvavidas poco que somos todos. Así que lo que quiero hacer es empezar con el mono
imagen, y para todos estos píxeles azules, quieren tirar en píxeles desde la Luna
imagen. Y así se vería como el mono es como, de vacaciones en la Luna. Así que iré
simplemente agarrar. Este código para empezar. Vamos a ver. Muy bien, así que lo que quiero hacer es, para la
Si, quiero decir si consigue azul. ¿Por lo tanto Wanna detectar el derecho de fondo azul? Y si
es el fondo azul y, a continuación, Wanna Tire en píxeles desde la Luna, el. Por lo tanto
aquí nuestra imagen es mono vuelve Luna [inaudible] I've got mi si declaración. Y
¿entonces, esto [inaudible] es invariable, verdad? Es justo, obtener la correspondiente
ha sin cambios desde el ejemplo anterior. Por lo que acaba de obtener la correspondiente
píxel, copia en rojo, verde, azul. Lo que no requiere cambiar en absoluto.
Muy bien, así que vamos a probarlo. Muy bien, así que, a 1,5 lo que está ocurriendo aquí es si
Declaración nunca es disparar. He especificado que he hecho la valla demasiado alta. Vale lo
vamos a intentar 1.3. Ah, sólo un poco teeny hunt. Así que estoy demasiado alto. Vamos a intentar 1.1. Eh,
bien. Ahora que puede ver, ustedes saben, s, la bluishness de esta parte de la azul
fondo tal vez sólo fue un poco más, por lo estamos recibiendo, pero no hacia abajo
aquí. Por lo que se deba tratar de 1.0. Ahora es llegar allí. Tenemos un poco menos,
así que realmente podemos ir podemos ir bajo uno aquí por lo que voy a tratar de 0,9 como la
Hurdle donde sólo estoy bajando el obstáculo. Ooh, es bastante buena. Ver, hay una
teeny poco de Luna en su barbilla allí. 0.95. Allá vamos, que es bonito
buena. Podríamos, nosotros podríamos ajustar esto [inaudible], creo, tres, hay un
poco de, allá vamos. Creo que es perfecto. Por lo tanto, puede ver que tiene, sabes,
como estrella de cine en las batallas de láser, nave espacial, como sea. Muy bien. Tan sólo a
resumir un poco. En el código vas a tener dos imágenes en lugar de uno y luego
bucle a través de la imagen principal y sólo un poco la forma en que hemos hecho antes,
identificar áreas de algún color. Y luego, una vez que haya identificado una zona que se encuentra en
el color preocupa, entonces no existe esta operación para localizar el correspondiente
píxeles de otra imagen y luego copiar sus valores rojos, verdes, azules, a
obtener el efecto de hacer. Y como se puede imaginar. Ustedes saben, es bastante fácil
son ejercicios que trabajan sobre esta técnica.