Kuidas luua hämmastavaid veebikaamera efekte Java ja töötlemise abil

Kuidas luua hämmastavaid veebikaamera efekte Java ja töötlemise abil

Töötlemine on võimas tööriist, mis võimaldab koodi abil kunsti luua. See on kombinatsioon Java raamatukogust graafikaga töötamiseks ja integreeritud arenduskeskkonnaga (IDE), mis võimaldab teil koodi hõlpsalt kirjutada ja käivitada.





Alustavaid graafika- ja animatsiooniprojekte on palju, mis kasutavad töötlemist, kuid see on võimeline manipuleerima ka otsevideoga.





Täna teete töötleva videoteegi abil reaalajas video slaidiseanssi erinevatest efektidest, mida juhib hiir. Lisaks reaalajas video pööramisele õpid selle suurust muutma ja värvima ning kuidas seda hiirekursorit järgima panna.





Projekti seadistamine

Alustada, allalaadimine Töötlemine ja avage tühi visand. See õpetus põhineb Windowsi süsteemil, kuid see peaks töötama igas veebikaameraga arvutis.

Võimalik, et peate installima videoteeki Processing Video, millele pääsete juurde alt Visand> Impordi kogu> Lisa kogu . Otsima Video otsingukasti ja installige teek Töötlemise sihtasutus .



Kui olete installinud, olete valmis minema. Kui soovite kodeerimise vahele jätta, saate seda teha laadige alla täielik visand . Siiski on parem seda ise nullist teha!

Töötlemisega veebikaamera kasutamine

Alustame raamatukogu importimisest ja a seadistamine funktsiooni. Sisestage tühjale töötlemise visandile järgmine teave:





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

Pärast videoteegi importimist loote a Jäädvusta kutsutud eksemplar Oranž veebikaamera andmete salvestamiseks. Sisse seadistamine , suurus funktsioon seadistab a 640x480 pikslisuurune aken, kus töötada.

Järgmine rida määrab Oranž uuele eksemplarile Jäädvusta , eest seda visand, mis on aknaga sama suur, enne kui käskite kaameral sisse lülitada cam.start () .





Ärge muretsege, kui te ei saa sellest kõigest praegu aru. Lühidalt öeldes oleme käskinud töötlemisel teha aken, leida oma kaamera ja see sisse lülitada! Selle kuvamiseks vajame a joonistama funktsiooni. Sisestage see ülaltoodud koodi alla, väljaspool lokkisulge.

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

The joonistama funktsiooni kutsutakse igas kaadris. See tähendab, et mitu korda sekundis, kui kaameral on andmed saadaval sina loe sealt saadud andmed.

Seejärel kuvatakse need andmed pilt , positsioonil 0, 0 , mis on akna vasakus ülanurgas.

Salvestage oma visand ja vajutage ekraani ülaosas esitusnuppu.

Edu! Salvestatud andmed Oranž prinditakse õigesti igale kaadrile ekraanile. Kui teil on probleeme, kontrollige oma koodi põhjalikult. Java vajab iga sulgu ja semikoolonit õiges kohas! Töötlemine võib veebikaamerale juurdepääsu saamiseks nõuda ka paar sekundit, nii et kui arvate, et see ei tööta, oodake mõni sekund pärast skripti käivitamist.

Pildi pööramine

Nüüd, kui teil on veebikaamera reaalajas pilt, manipuleerime sellega. Joonistusfunktsioonis asendage pilt (nukk, 0,0); nende kahe koodiridaga.

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

Salvestage ja tehke visand uuesti. Kas näete erinevust? Kasutades negatiivi kaal väärtus, kõik x väärtused (horisontaalsed pikslid) on nüüd vastupidised. Seetõttu peame kasutama akna negatiivset väärtust laius pildi õigeks paigutamiseks.

Pildi tagurpidi pööramine nõuab vaid paari väikest muudatust.

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

Seekord nii x ja ja väärtused pööratakse ümber, pöörates kaamera otsepildi tagurpidi. Siiani olete kodeerinud tavalise pildi, horisontaalselt pööratud pildi ja vertikaalselt pööratud pildi. Loome viisi, kuidas nende vahel jalgrattaga sõita.

Tsükli tegemine

Selle asemel, et oma koodi iga kord ümber kirjutada, saame nende sirvimiseks kasutada numbreid. Loo uus täisarv koodi ülaosas lüliti .

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

Kaamera pildiga toimuva kindlaksmääramiseks saame kasutada lüliti väärtust. Kui visand algab, annate sellele väärtuse 0 . Nüüd saame loogika abil muuta kujutisega toimuvat. Värskendage oma joonistama meetod välja näha selline:

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;
}
}

Nüüd käivituvad kõik kolm koodi variatsiooni sõltuvalt lüliti väärtusest. Kui see ei ühti meie ühega kui või kui muidu avaldused, muidu klausel lähtestatakse väärtusele 0. Loogika on oluline algaja oskus, mida saate õppida ning nende ja palju muu kohta saate teada suurepärase YouTube'i programmeerimisõpetuse abil!

Hiire kasutamine

Töötlemisel on sisseehitatud hiirele juurdepääsu meetodid. Et tuvastada, millal kasutaja hiirele klõpsab, lisage hiirega vajutatud funktsiooni skripti allosas.

kuidas otsida arvutist tiktok
void mousePressed(){
switcher++;
}

Töötlemine kuulab hiireklõpsu ja katkestab programmi selle meetodi rakendamiseks, kui see tuvastatakse. Iga kord, kui meetodit kutsutakse, suureneb lüliti väärtus ühe võrra. Salvestage ja käivitage oma skript.

Nüüd, kui vajutate hiireklahvi, liigub see enne originaali juurde naasmist videote erinevates suundades. Seni olete videot lihtsalt ümber pööranud, nüüd teeme midagi natuke huvitavamat.

Rohkemate efektide lisamine

Nüüd kodeerite neljavärvilise otsepildi efekti, mis sarnaneb kuulsate Andy Warholi kunstiteostega. Rohkemate efektide lisamine on sama lihtne kui loogikale teise klausli lisamine. Lisage see oma skripti viimaste vahele muidu kui avaldus ja muidu .

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);
}

See kood kasutab pilt funktsioon, et luua ekraani igasse nurka neli eraldi kaamerapilti ja muuta need pooleks.

The varjund funktsioon lisab igale kaamera pildile värvi. Sulgudes olevad numbrid punane, roheline ja sinine (RGB) väärtused. Toonige kõik järgmised koodid valitud värviga.

Tulemuse nägemiseks salvestage ja mängige. Proovige muuta iga RGB numbrit varjund funktsioon värvide muutmiseks!

Hiire järgimine

Lõpuks paneme reaalajas pildi jälgima hiire asukohta, kasutades töötlemisteegi kasulikke funktsioone. Lisage see selle kohale muidu osa sinu loogikast.

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

Siin paigutate oma kaamerast pildi aadressile hiirX ja hiirY . Need on sisseehitatud töötlusväärtused, mis tagastavad, millisele pikslile hiir osutab.

See on kõik! Viis reaalajas video varianti läbi koodi. Koodi käivitamisel märkate aga paari probleemi.

Koodeksi lõpetamine

Siiani loodud kood töötab, kuid märkate kahte probleemi. Esiteks, kui neljavärviline variatsioon on näidatud, on kõik hiljem lillaks toonitud. Teiseks, kui liigutate videot hiirega, jätab see jälje. Selle saate parandada, lisades joonistusfunktsiooni ülaossa paar rida.

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

Iga kaadri alguses lähtestab see kood toonivärvi valgeks ja lisab musta taustavärvi, et peatada video jäljed. Nüüd, kui programmi testite, töötab kõik ideaalselt!

Veebikaamera efektid: kunst koodist

Töötlemine on väga võimas ja saate seda kasutada paljude asjade tegemiseks. See on suurepärane platvorm koodiga kunsti tegemiseks, kuid sobib võrdselt ka robotite juhtimiseks!

Kui Java pole teie asi, on töötlemisel põhinev JavaScripti teek nimega p5.js. See on brauseripõhine ja isegi algajad saavad seda kasutada fantastiliste reaktiivsete animatsioonide loomiseks!

Pildikrediit: Syda_Productions / Depositphotos

Jaga Jaga Piiksuma E -post 3 viisi, kuidas kontrollida, kas e -kiri on tõeline või võlts

Kui olete saanud e -kirja, mis tundub pisut kahtlane, on alati parem kontrollida selle ehtsust. Siin on kolm võimalust, kuidas teada saada, kas e -kiri on tõeline.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Java
  • Veebikaamera
  • Töötlemine
  • Kodeerimise õpetused
Autori kohta Ian Buckley(Avaldatud 216 artiklit)

Ian Buckley on vabakutseline ajakirjanik, muusik, esineja ja videoprodutsent, kes elab Saksamaal Berliinis. Kui ta parasjagu ei kirjuta ega laval, nokitseb ta isetehtud elektroonika või koodi kallal, lootuses saada hulluks teadlaseks.

Rohkem Ian Buckleylt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin