
Harry James
0
4076
1099
Zpracování je výkonný nástroj, který umožňuje tvorbu umění prostřednictvím kódu. Jedná se o kombinaci knihovny Java pro práci s grafikou a integrovaného vývojového prostředí (IDE), které umožňuje snadné psaní a spuštění kódu.
Existuje mnoho projektů pro začátečníky v oblasti grafiky a animace, které používají zpracování, ale dokáže také manipulovat se živým videem.
Dnes provedete živou videoprezentaci různých efektů ovládaných myší pomocí knihovny Zpracování videa. Kromě převrácení živého videa se naučíte jeho změnu velikosti a zbarvení a způsob, jak ho sledovat podle kurzoru myši.
Nastavení projektu
Nejprve si stáhněte Zpracování a otevřete prázdnou skicu. Tento tutoriál je založen na systému Windows, ale měl by fungovat na jakémkoli počítači s webovou kamerou.
Možná budete muset nainstalovat knihovnu Zpracování videa, která je přístupná pod Skica> Importovat knihovnu> Přidat knihovnu. Hledat Video do vyhledávacího pole a nainstalujte knihovnu z Zpracovatelská nadace.
Po instalaci jste připraveni jít. Pokud chcete přeskočit kódování, můžete si stáhnout kompletní skicu. Je však mnohem lepší udělat si to od nuly!
Použití webové kamery se zpracováním
Začněme importováním knihovny a vytvořením založit funkce. Do prázdné náčrtu Zpracování zadejte následující:
import processing.video. *; Capture cam; neplatné nastavení () velikost (640 480); cam = new Capture (this, 640, 480); cam.start ();
Po importu knihovny videa vytvoříte Zachyťte instance se nazývá vačka ukládat data z webové kamery. v založit, velikost funkce nastaví a 640 × 480 Okno velikosti pixelů pro práci.
Další řádek přiřadí vačka do nové instance Zachyťte, pro tento náčrtek, který má stejnou velikost jako okno, než řekne fotoaparátu, aby se zapnul cam.start ().
Nedělejte si starosti, pokud prozatím nerozumíte každé jeho části. Stručně řečeno, řekli jsme zpracovateli, aby vytvořil okno, našel naši kameru a zapnul ji! K jeho zobrazení potřebujeme kreslit funkce. Zadejte tento kód pod výše uvedený kód, mimo složené závorky.
void draw () if (cam.available ()) cam.read (); obrázek (cam, 0,0);
kreslit funkce se nazývá každý snímek. To znamená, že mnohokrát každou sekundu, -li kamera obsahuje data dostupný vy číst data z toho.
Tato data se pak zobrazí jako obraz, na pozici 0, 0, což je v levém horním rohu okna.
Uložte náčrt a stiskněte tlačítko přehrávání v horní části obrazovky.
Úspěch! Data uložená uživatelem vačka je správně vytištěn na obrazovku každý snímek. Pokud máte problémy, důkladně zkontrolujte svůj kód. Java potřebuje každou závorku a středník na správném místě! Zpracování může také vyžadovat několik sekund pro přístup k webové kameře, takže pokud si myslíte, že to nefunguje, počkejte několik sekund po spuštění skriptu.
Obracející se obrázek
Nyní, když máte živý webový obrázek, pojďme s ním manipulovat. Ve funkci kreslení nakreslete obrázek (cam, 0,0); s těmito dvěma řádky kódu.
měřítko (-1,1); obrázek (cam, -width, 0);
Uložte a znovu spusťte náčrt. Vidíš ten rozdíl? Pomocí negativu stupnice hodnota, všechny X hodnoty (vodorovné pixely) jsou nyní obrácené. Z tohoto důvodu musíme použít zápornou hodnotu okna šířka pro správné umístění obrazu.
Převrácení obrazu vzhůru nohama vyžaduje jen několik malých změn.
měřítko (-1, -1); obrázek (cam, -width, -height);
Tentokrát oba X a y hodnoty jsou převráceny a otočí obraz živé kamery vzhůru nohama. Doposud jste kódovali normální obraz, vodorovně převrácený obrázek a svisle převrácený obrázek. Pojďme nastavit způsob, jak mezi nimi střídat.
Díky tomu cyklus
Namísto přepisování kódu pokaždé můžeme pomocí čísel procházet mezi nimi. Vytvoř nový celé číslo v horní části vašeho kódu s názvem přepínač.
import processing.video. *; přepínač int = 0; Capture cam;
Hodnotu přepínače můžeme použít k určení toho, co se stane s obrázkem kamery. Když skica začne, přidáte jí hodnotu 0. Nyní můžeme pomocí logiky změnit, co se stane s obrázkem. Aktualizujte svůj kreslit metoda vypadá takto:
void draw () if (cam.available ()) cam.read (); if (switcher == 0) image (cam, 0,0); else if (switcher == 1) scale (-1,1); obrázek (cam, -width, 0); else if (switcher == 2) scale (-1, -1); obrázek (cam, -width, -height); else println ("Switcher = znovu znovu 0"); přepínač = 0;
Nyní se všechny tři varianty kódu spustí v závislosti na hodnotě přepínače. Pokud to neodpovídá jednomu z našich -li nebo pokud jinde prohlášení, jiný klauzule se resetuje na 0. Logika je důležitá dovednost pro začátečníky, kterou se můžete naučit. O nich a mnohem více se můžete dozvědět pomocí vynikajícího programovacího tutoriálu YouTube 17 nejlepších programovacích tutoriálů YouTube 17 nejlepších programovacích tutoriálů YouTube V tomto příspěvku Rád bych vás upozornil na některé z nejlepších programovacích seriálů YouTube, které jsme našli. To vše je dostačující k tomu, aby vám chodily jako nováčkovací programátor. !
Používání myši
Zpracování má vestavěné metody pro přístup k myši. Chcete-li zjistit, kdy uživatel klepne myší, přidejte mousePressed fungovat ve spodní části skriptu.
void mousePressed () switcher ++;
Zpracování poslouchá všechna kliknutí myší a přeruší program, aby tuto metodu provedl, když ji detekuje. Při každém zavolání metody se hodnota přepínače zvětšuje o jednu. Uložte a spusťte skript.
Nyní, když stisknete tlačítko myši, cykluje se různými orientacemi videí, než se vrátí k původnímu. Zatím jste právě otočili video, nyní udělejme něco trochu zajímavějšího.
Přidání dalších efektů
Nyní kódujete efekt čtyřbarevného živého obrazu podobný známým uměleckým dílům Andyho Warhola. Přidání dalších efektů je stejně snadné jako přidání další klauzule do logiky. Přidejte toto do skriptu mezi posledními jinak pokud prohlášení a jiný.
jinak if (přepínač == 3) odstín (256, 0, 0); obrázek (vačka, 0, 0, šířka / 2, výška / 2); odstín (0, 256, 0); obrázek (vačka, šířka / 2, 0, šířka / 2, výška / 2); odstín (0, 0, 256); obrázek (cam, 0, výška / 2, šířka / 2, výška / 2); odstín (256, 0, 256); obrázek (vačka, šířka / 2, výška / 2, šířka / 2, výška / 2);
Tento kód používá obraz Tato funkce slouží k vytvoření čtyř samostatných snímků z kamery v každém rohu obrazovky a jejich dosažení poloviční velikosti.
nádech Funkce přidá barvu ke každému obrazu kamery. Čísla v závorkách jsou červená, zelená a modrá (RGB) hodnoty. Odstín barvy všech následujících kódů s vybranou barvou.
Uložte a hrajte, abyste viděli výsledek. Zkuste změnit RGB čísla v každém nádech funkce pro změnu barev!
Dělat to za myší
Nakonec pojďme živý obrázek sledovat polohu myši pomocí užitečných funkcí z knihovny Zpracování. Přidejte toto nad jiný část vaší logiky.
jinak if (přepínač == 4) image (cam, mouseX, mouseY, width / 2, height / 2);
Zde umístíte obrázek z kamery na mouseX a hnědý. Jsou zabudovány do hodnot Zpracování, které vracejí, na který pixel myš ukazuje.
A je to! Pět variant živého videa prostřednictvím kódu. Při spuštění kódu si však všimnete několika problémů.
Dokončení kódu
Kód, který jste dosud vytvořili, funguje, ale všimnete si dvou problémů. Nejprve, jakmile se ukáže čtyřbarevná varianta, je vše poté zbarveno fialově. Za druhé, když pohybujete videem pomocí myši, zanechá stopu. Můžete to opravit přidáním několika řádků do horní části funkce kreslení.
void draw () odstín (256,256,256); pozadí (0); // draw funkce zde normálně pokračuje!
Na začátku každého snímku tento kód obnoví barvu odstínu na bílou a přidá barvu pozadí černé, aby se zastavilo přehrávání videa. Nyní, když program otestujete, vše funguje perfektně!
Webcame Effects: Art From Code
Zpracování je velmi výkonné a můžete jej použít k mnoha účelům. Je to vynikající platforma pro tvorbu umění s kódem, ale je stejně vhodná pro ovládání robotů!
Pokud Java není vaše věc, existuje knihovna JavaScriptu založená na zpracování zvaná p5.js. Je založen na prohlížeči a dokonce i začátečníci jej mohou použít k vytváření fantastických reaktivních animací Jak skriptovat animaci robota citlivého na hlas v p5.js Jak skriptovat animaci robota citlivého na hlas v p5.js Chcete, aby se vaše děti zajímaly o programování ? Ukažte jim tohoto průvodce, jak sestavit zvukově reaktivní animovanou robotickou hlavu. !
Image Credit: Syda_Productions / Depositphotos