Kako ustvariti neverjetne učinke spletne kamere z uporabo Java in obdelavo

Kako ustvariti neverjetne učinke spletne kamere z uporabo Java in obdelavo

Obdelava je močno orodje, ki omogoča ustvarjanje umetnosti s kodo. To je kombinacija knjižnice Java za delo z grafiko in integriranega razvojnega okolja (IDE), ki vam omogoča enostavno pisanje in zagon kode.





Obstaja veliko projektov za grafiko in animacijo za začetnike, ki uporabljajo Processing, vendar je tudi sposoben manipulirati z video posnetki v živo.





Danes boste z videoteko Processing ustvarili diaprojekcijo v živo z različnimi učinki, ki jih nadzira miška. Poleg obračanja videoposnetka v živo se boste naučili spremeniti njegovo velikost in barvo ter kako slediti kazalcu miške.





Nastavitev projekta

Začeti, naloži Obdelava in odprite prazno skico. Ta vadnica temelji na sistemu Windows, vendar bi morala delovati na katerem koli računalniku s spletno kamero.

Morda boste morali namestiti knjižnico Processing Video, ki je dostopna pod Skica> Uvozi knjižnico> Dodaj knjižnico . Išči Video v iskalno polje in namestite knjižnico iz Fundacija za obdelavo .



Ko ste nameščeni, ste pripravljeni za uporabo. Če želite preskočiti kodiranje, lahko prenesite celotno skico . Vendar je veliko bolje, da ga naredite sami iz nič!

Uporaba spletne kamere z obdelavo

Začnimo z uvozom knjižnice in ustvarjanjem datoteke nastaviti funkcijo. V prazno skico obdelave vnesite naslednje:





import processing.video.*;
Capture cam;
void setup(){
size(640,480);
cam = new Capture(this, 640, 480);
cam.start();
}

Po uvozu videoteke ustvarite datoteko Zajem poklican primerek Oranžna za shranjevanje podatkov s spletne kamere. V nastaviti , velikost funkcija nastavi a 640 x 480 okno velikosti slikovnih pik za delo.

Naslednja vrstica dodeli Oranžna na nov primerek Zajem , za to skico, ki je enake velikosti kot okno, preden fotoaparatu poveste, naj se vklopi cam.start () .





Ne skrbite, če zaenkrat tega ne razumete. Skratka, Processingu smo rekli, naj naredi okno, poišče naš fotoaparat in ga vklopi! Za prikaz potrebujemo a žrebanje funkcijo. Vnesite to pod zgornjo kodo, zunaj kodrastih oklepajev.

void draw(){
if (cam.available()){
cam.read();
}
image(cam,0,0);
}

The žrebanje funkcija pokliče vsak okvir. To pomeni, da vsako sekundo večkrat če kamera ima podatke na voljo ti prebrati podatke iz nje.

Ti podatki so nato prikazani kot sliko , na položaju 0, 0 , ki je v zgornjem levem kotu okna.

Shranite skico in pritisnite gumb za predvajanje na vrhu zaslona.

Uspeh! Podatki, ki jih shrani Oranžna pravilno natisne vsak okvir na zaslon. Če imate težave, temeljito preverite kodo. Java potrebuje vsak oklepaj in podpičje na pravem mestu! Za dostop do spletne kamere lahko traja tudi nekaj sekund, zato, če menite, da ne deluje, počakajte nekaj sekund po zagonu skripta.

Obračanje slike

Zdaj, ko imate živo sliko spletne kamere, z njo upravljajmo. V funkciji žrebanja zamenjajte slika (kamera, 0,0); s tema dvema vrsticama kode.

scale(-1,1);
image(cam,-width,0);

Skico shranite in znova zaženite. Ali vidite razliko? Z uporabo negativa lestvici vrednost, vse x vrednosti (vodoravne pike) so zdaj obrnjene. Zaradi tega moramo uporabiti negativno vrednost okna premer za pravilno postavitev slike.

Obrnitev slike na glavo zahteva le nekaj majhnih sprememb.

scale(-1,-1);
image(cam,-width,-height);

Tokrat sta oba x in in vrednosti se obrnejo in sliko kamere v živo obrnejo na glavo. Doslej ste kodirali običajno sliko, vodoravno obrnjeno sliko in navpično obrnjeno sliko. Nastavimo način kolesarjenja med njimi.

Ustvarjanje cikla

Namesto da vsakič znova prepišemo vašo kodo, jih lahko uporabimo za kroženje. Ustvarite novo celo število na vrhu vaše kode stikalo .

import processing.video.*;
int switcher = 0;
Capture cam;

Z vrednostjo preklopnika lahko ugotovimo, kaj se zgodi s sliko kamere. Ko se skica začne, ji daste vrednost 0 . Zdaj lahko z logiko spremenimo, kaj se zgodi s sliko. Posodobite svoj žrebanje metoda izgleda takole:

void draw(){
if (cam.available()){
cam.read();
}
if(switcher==0){
image(cam,0,0);
}
else if(switcher == 1){
scale(-1,1);
image(cam,-width,0);
}
else if(switcher == 2){
scale(-1,-1);
image(cam,-width,-height);
}
else{
println('Switcher = 0 again');
switcher = 0;
}
}

Zdaj se bodo sprožile vse tri različice kode, odvisno od vrednosti stikala. Če se ne ujema z enim od naših če ali če potem izjave, drugače klavzula se ponastavi na 0. Logika je pomembna spretnost začetnika, ki se je morate naučiti, o njih in še veliko več pa lahko izveste z odlično YouTube vadnico za programiranje!

Uporaba miške

Obdelava ima vgrajene metode za dostop do miške. Če želite zaznati, kdaj uporabnik klikne miško, dodajte datoteko miškaPritisnjena funkcijo na dnu skripta.

gledajte brezplačne grozljivke na spletu brez prenosa ali registracije
void mousePressed(){
switcher++;
}

Obdelava posluša vse klike miške in prekine program, da izvede to metodo, ko jo zazna. Vsakič, ko se metoda pokliče, se vrednost stikala poveča za eno. Shranite in zaženite skript.

Zdaj, ko pritisnete gumb miške, se pomika po različnih usmeritvah videoposnetkov, preden se vrne na izvirnik. Doslej ste samo obrnili video, zdaj pa naredimo nekaj bolj zanimivega.

Dodajanje več učinkov

Zdaj boste kodirali štiribarvni učinek slike v živo, podoben znanim umetninam Andyja Warhola. Dodajanje več učinkov je tako preprosto, kot da logiki dodate še en člen. To dodajte svojemu skriptu med zadnjim drugače če izjavo in drugače .

else if(switcher == 3){
tint(256, 0, 0);
image(cam, 0, 0, width/2, height/2);
tint(0, 256, 0);
image(cam, width/2, 0, width/2, height/2);
tint(0, 0, 256);
image(cam, 0, height/2, width/2, height/2);
tint(256, 0, 256);
image(cam, width/2, height/2, width/2, height/2);
}

Ta koda uporablja sliko funkcijo za ustvarjanje štirih ločenih slik kamere v vsakem kotu zaslona in za zmanjšanje velikosti vseh polovic.

The odtenek funkcija vsaki sliki fotoaparata doda barvo. Številke v oklepajih so rdeča, zelena in modra (RGB) vrednote. Nariši vso naslednjo kodo z izbrano barvo.

Shranite in igrajte, če si želite ogledati rezultat. Poskusite spremeniti številke RGB v vsaki odtenek funkcijo za spreminjanje barv!

Naj sledi miški

Nazadnje, naredimo živo sliko, da sledi položaju miške, s pomočjo koristnih funkcij iz knjižnice Processing. Dodajte to nad drugače del tvoje logike.

else if(switcher==4 ){
image(cam, mouseX, mouseY, width/2, height/2);
}

Tukaj postavljate sliko s fotoaparata na mouseX in mišY . Te so vgrajene v vrednosti obdelave, ki vrnejo, na katero slikovno piko miška kaže.

To je to! Pet različic videa v živo prek kode. Ko pa zaženete kodo, boste opazili nekaj težav.

Dokončanje kodeksa

Koda, ki ste jo ustvarili do zdaj, deluje, vendar boste opazili dve težavi. Prvič, ko se pokaže variacija štirih barv, je potem vse obarvano vijolično. Drugič, ko video premaknete z miško, pusti sled. To lahko popravite tako, da na vrh funkcije risanja dodate nekaj vrstic.

void draw(){
tint(256,256,256);
background(0);
//draw function continues normally here!

Na začetku vsakega okvirja ta koda ponastavi barvo odtenka na belo in doda črno barvo ozadja, da video ne pusti sledi. Zdaj, ko preizkusite program, vse deluje odlično!

Učinki spletne kamere: Umetnost iz kode

Obdelava je zelo močna in z njo lahko naredite marsikaj. To je odlična platforma za ustvarjanje umetnosti s kodo, vendar je enako primerna za nadzor robotov!

Če Java ni vaša stvar, obstaja knjižnica JavaScript, ki temelji na obdelavi, imenovana p5.js. Temelji na brskalniku in tudi začetniki ga lahko uporabijo za ustvarjanje fantastičnih reaktivnih animacij!

Zasluge za sliko: Syda_Productions / Depositphotos

Deliti Deliti Cvrkutati E-naslov 3 načini, kako preveriti, ali je e -pošta resnična ali lažna

Če ste prejeli e -poštno sporočilo, ki je videti nekoliko dvomljivo, je vedno najbolje preveriti njegovo pristnost. Tu so trije načini, kako ugotoviti, ali je e -poštno sporočilo resnično.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Java
  • Spletna kamera
  • Obravnavati
  • Kodiranje vadnic
O avtorju Ian Buckley(216 objavljenih člankov)

Ian Buckley je samostojni novinar, glasbenik, izvajalec in video producent, ki živi v Berlinu v Nemčiji. Ko ne piše ali na odru, se ukvarja z elektroniko ali kodo DIY v upanju, da bo postal nor znanstvenik.

Več od Iana Buckleyja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite