Fakulta aplikovaných věd. Katedra kybernetiky. Ping Pong. Martin Skála



Podobné dokumenty
Počítačové zpracování obrazu Projekt Učíme se navzájem

Světlo v multimódových optických vláknech

Programátorská dokumentace

D E T E K C E P O H Y B U V E V I D E U A J E J I C H I D E N T I F I K A C E

Prùvodce obecnîmi nastaveními

StatSoft Odkud tak asi je?

Výzva k účasti v elektronické aukci pro Město Počátky Oprava fasády věže kostela Sv. Jana Křtitele v Počátkác

NÁVOD jak na webinář přes WizIQ

Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006

Hodnocení soutěžních úloh

Obecné. Výzva k účasti v e-aukci Město Počátky Oprava komunikací v Počátkách a okolí

Výzva k účasti v e-aukci pro Město Počátky Zpracování projektové dokumentace na ZTV lokalita Z2 Počátky

ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE

Obsah. Proč právě Flash? 17 Systémové požadavky 17. Jak používat tuto knihu 18 Doprovodný CD-ROM 19

Verze CONSTRUCTION CONSULTING. Core engineering s.r.o. CON-SI Manuál

LED LINIOVÉ OSVĚTLENÍ = NOVÝ VÍTR DO VAŠEHO DOMOVA

wlsn* obousměrná bezdrátová síť Rychlá cesta ke spolehlivějšímu zabezpečení

Obsah balení. Popis jednotky. 1 Čtečka E-Book (hl. jednotka) 2 Kožené pouzdro 3 Sluchátka 4 USB kabel 5 Průvodce rychlým startem 6 Záruční list

Systémy digitálního vodotisku. Digital Watermarking Systems

LBP, HoG Ing. Marek Hrúz Ph.D. Plzeň Katedra kybernetiky 29. října 2015

DHL Freight MICROSITE

Sportovní brýle s kamerou Full HD 1080P. Návod na použití. Před použitím si tento návod pečlivě přečtěte a uschovejte ho pro potřebu příštího použití.

3. série 2015/2016. Termín odeslání 3. série:

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

Eurobot open 2006 "Funny Golf" Funny Golf FAQ 1

APLIKACE TEMATICKÝCH MAP ATLAS ORP ROKYCANY SE ZAMĚŘENÍM NA VOLBY

Elsyst Engineering. Kontrola kvality obrazových souborů v procesu digitalizace. Ivan Sabo

Kapitola: Konverze grafických formátů Cvičení 5 a 6 Úpravy rastrových obrazů

Jak připravit žákům trenažer pro cvičení jednoduchých dovedností

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Diktafon s HD kamerou

Import a export dat EU peníze středním školám Didaktický učební materiál

Alfanumerické displeje

Multimediální systémy. 02 Reprezentace barev v počítači

TDS-TECHNIK Knihovna normalizovaných dílů. Technické výpočty

Špionážní tužka s HD kamerou Manual. (typ - propiska)

Křížový úder kros. Jak dokonale zvládnout Squash. Forhendový kros

Barvy v počítači a HTML.

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

Instalační manuál pro digitální videorekordér

Dálkový průzkum Země. Ústav geoinformačních technologií Lesnická a dřevařská fakulta MENDELU

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

Detekce obličeje v obraze s využitím prostředí MATLAB

Auto Games CZ, s.r.o.

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

Úvod do zpracování obrazů. Petr Petyovský Miloslav Richter

Ekonomická FULL HD kamera do auta, G-senzor

Word 2007 Word 2007 egon. Spuštění, vzhled, zobrazení dokumentu

Uživatelský manuál. A3600 DL ( Data Download)

Anglická slovíčka

1. Snímací část. Náčrtek CCD čipu.

Kódy pro detekci a opravu chyb. INP 2008 FIT VUT v Brně

INSTALAČNÍ MANUÁL pro aplikaci ihc-mirf

(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

Zadání soutěžních úloh

CATE VLT HERNÍ PLÁN - NÁVOD PRO HRU

Obecný úvod do autoelektroniky

CAD II přednáška č. 5. Grafické formáty PCX GIF TIFF BMP

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy

Standardní šířka sloupce je průměrná šířka číslic 0-9 standardního písma.

Praktická geometrická optika

Uživatelský manuál na obsluhu mobilní aplikace CMOB

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

CARAT Fórum května 2017 TIPY & TRIKY

Konvertor SK-1402 video/usb. Návod k obsluze

Cílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Obr. 1: Brick s moduly [3]

Příručka pro uživatele Navigační software

Smlouva o dílo. Státní zemědělský intervenční fond Sídlo: Ve Smečkách 33 IČO:

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Solární detektor oblačnosti

Uživatelský manuál. (cz) Tablet S7.1

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.

OBSAH ÚVOD... 3 PŘIPOJENÍ SÍŤOVÉHO MODULU... 3 INSTALACE SÍŤOVÉHO MODULU... 3 PŘÍKLADY SÍŤOVÉHO PŘIPOJENÍ... 6 ZMĚNA IP ADRESY...

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6

Kapitola 1 První kroky v tvorbě miniaplikací 11

Počítačová grafika 1. Úvod do grafiky, základní pojmy. Rastrová grafika.

Výukový materiál vytvořen v rámci projektu EU peníze školám "Inovace výuky" registrační číslo CZ.1.07/1.5.00/

LuxRiot uživatelský manuál verze Uživatelský manuál Verze , Stasa s.r.o.,pokorného 14, , PRAHA

Digitální dveřní kukátko s kamerou HQS 708

Hodnocení soutěžních úloh

Nástroj WebMaker TXV první vydání Únor 2009 změny vyhrazeny

Zpráva k MZU za období

Skořepina v SolidWorks

Nabídka statické kamery

Kapitola 1: Úvodní strana PARTICLER

Proměny kulturní krajiny

SLEDOVÁNÍ POHYBU OČÍ POMOCÍ KAMERY CAMERA BASED EYE TRACKING

Voděodolný tloušťkoměr MG-401 Obsah:

CentralControl CC51. Návod k uvedení do provozu. Řídicí centrála

Výukový materiál zpracován v rámci projektu EU peníze školám

Popis programu řádkové kamery USB Video Interface

Histogram a jeho zpracování

Obsah Úvod Systémové požadavky pro kameru 1.3 mega pixelů Systémové požadavky pro kameru 500K pixelů

CentralControl CC51. Návod k uvedení do provozu. Řídicí centrála

Zadání Máme data hdp.wf1, která najdete zde: Bodová předpověď: Intervalová předpověď:

Zpracování chybějících dat a dat mimo rozsah

Histogram a jeho zpracování

JSR tutorial 1 Úvod do JSR-184

Transkript:

Fakulta aplikovaných věd Katedra kybernetiky Ping Pong Semestrální práce z KKY/ZDO Martin Skála 22.6. 2011 1

Řešitelský tým: Martin Skála ma.ska@post.cz Zadání úlohy: Vytvořit hru ve stylu ping pongu. Hra bude pro jednoho hráče, který bude snímán webkamerou a hru bude ovládat pohybem ruky, ve které bude mít předmět (např. propisku), který bude představovat pingpongovou pálku. Specifikace úlohy: Hra bude vytvořena pomocí nástroje Adobe Flex 4 a pomocí JavaScriptu. Uživatel bude snímán webkamerou. Obraz z webkamery bude pokud možno v reálném čase zpracováván a budou z něj získány informace o pohybu předmětu, kterým bude hra ovládána. Předmět, který bude uživatel držet v ruce, bude rovný, např. propiska a bude mít jiný jas než okolí (ruka uživatele, oblečení), aby se dal snadněji detekovat. Celá aplikace bude spustitelná v internetovém prohlížeči. Řešení: 1) Snímání obrazu Snímání obrazu je zajištěno pomocí nástroje Adobe Flex 4 (Adobe Flash Builder 4), který je schopen ovládat webkameru a snímat z ní obraz, který můžeme dále zpracovávat. V programu je vytvořen objekt camera, který snímá obraz, ten se ukládá do BitmapData a následně do bytového pole, ve kterém je obraz v RGBA hodnotách. Pro jeden pixel jsou tedy v poli 4 hodnoty v celých číslech od 0 do 255. 2) Odeslání dat jo JavaScriptu Když máme data uložená v poli, přetypujeme ho na String a odesíláme do JavaSctriptu, kde probíhá další zpracování. K odesílání dat je použita třída ExternalInterface, která dokáže komunikovat s JavaScriptem. JavaScript tedy svojí funkcí zavolá přes ExternalInterface funkci, která je ve Flashy, ta získá data z webkamery a hodnoty vrátí opět přes ExternalInterface do JavaScriptu. 2

V našem případě probíhá snímání obrázku po určitých intervalech. Díky tomu, že odesíláme relativně velké množství dat (v našem případě máme obrázek 320x240 pixelů, tedy 320x240x4 hodnot) se program zpožďuje. To má za následek to, že intervaly snímání musí být větší a tím pádem se program znatelně seká. Pokud bychom odesílali méně dat, nemusela by zase detekce obrazu probíhat tak, jak bychom potřebovali. 3) Zpracování dat a detekce polohy objektu Zpracování dat probíhá v JavaSctriptu, kde pomocí objektu canvas (který je novinkou v HTML5) můžeme vykreslovat obrázky a pracovat s jednotlivými pixely. Nejprve si vždy musíme zvolit barvu detekovaného objektu a zadat ji do programu v RGB hodnotách. Barva objektu musí být odlišná od okolí, aby detekce mohla probíhat správně. Dále zvolíme toleranci barvy. Tolerance nám vyjadřuje, jak moc se muže lišit barva obrázku od zadané barvy, abychom ji ještě detekovali jako stejnou. Hodnota 0.3 vyjadřuje 30% toleranci. Tolerance se počítá z RBG složek a je to součet rozdílu hodnot od zadané barvy. Pokud se tedy například hodnota červená liší o 5% od zadané, hodnota zelené se liší o 10%, tak při toleranci 30% se hodnota modré může lišit maximálně o 15%, abychom ji detekovali jako součást našeho objektu. 3

Tolerance se zadává z důvodu, že na různých částech objektu jsou jiné jasové hodnoty a tím pádem tedy různé RGB hodnoty. Při detekci polohy objektu procházíme celý obrázek po pixelech a rozhodujeme na základě zadané barvy a tolerance, které pixely patří našemu objektu a které ne. Viz obrázek níže, kde jsme přebarvili vhodné pixely na bílo a nevhodné na černo. Na obrázku si můžeme všimnout dalších bílých pixelů, které nejsou součástí našeho objektu a přináší tak drobné zkreslení do výpočtu polohy objektu (pozadí má totiž podobnou barvu jako objekt a vejde se do tolerance). Při výpočtu polohy objektu, proházíme obrázek a sčítáme x-ové hodnoty detekovaných pixelu a také y-onové. Pokud tyto dvě čísla vydělíme počtem detekovaným pixelů (uděláme průměr) dostaneme x a y hodnotu středu našeho objektu, viz zelený křížek na obrázku výše. Další věcí, kterou potřebujeme zjistit, je úhel natočení objektu. Vezmeme všechny pixely, které jsou nad úrovní středu (pixely, které mají menší y než vypočtený střed). A spočítáme jejich průměrný rozdíl x od x vypočteného středu. To samé uděláme i pro y. Dostaneme další bod. Úsečka mezi těmito body má stejný úhel jako náš objekt. Úhel dopočteme snadno, pomocí pravoúhlého trojúhelníku funkcí tangens. Zvětšená úsečka pod správným úhlem je na obrázku viz výše červená. 4

4) Vykreslení hrací plochy Nyní již máme polohu a uhel natočení objektu a můžeme vykreslovat hrací plochu. Plocha se vykresluje pomocí JavaScriptu do HTML objektu canvas. Poloha míčku je dáma směrem letu, jeho předchozí polohou a rychlostí letu. Míček se odráží od stěn a také od našeho objektu (pálky), odráží podle zákona uhlu dopadu a odrazu. Celé scéna se vykresluje po určitých intervalech (20ms) znovu a mění se polohy objektů (míčku a pálky). Míčku podle dráhy letu a pálky podle pohybu našeho předmětu snímaného kamerou. Hrací plocha je zobrazena níže. (Míček je bílý, pálka je černá úsečka.) 5

Zobrazení kompletního náhledu: (Program se spouští tlačítkem Start) Závěr: Zkompletovaná semestrální práce funguje podle našich požadavků. Jediným nedostatkem je přenos dat, který je pomalý. Řešením by mohlo být zpracovat obrázek ve Flashy a odesílat jenom polohu a úhel detekovaného objektu. Semestrální práce mi dala mnoho nových znalostí. Byla pro mě přínosem, že jsem se naučil pracovat s dalšími nástroji na tvorbu webových aplikací (Flex/Flash, HTML5 canvas objekt a poznal jsem další možnosti JavaScriptu). 6