abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Zajímavý článek

    První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.

    |🇵🇸 | Komentářů: 0
    včera 00:55 | Pozvánky

    Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci

    … více »
    bkralik | Komentářů: 0
    3.8. 17:22 | Zajímavý článek

    Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo

    … více »
    Ladislav Hagara | Komentářů: 24
    3.8. 16:33 | IT novinky

    Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.

    Ladislav Hagara | Komentářů: 1
    3.8. 15:22 | IT novinky Ladislav Hagara | Komentářů: 3
    3.8. 14:22 | Komunita

    Na GitHubu byl publikován seznam 55 kritických bezpečnostních chyb v SQLite s přiřazenými CVE čísly. JFrog Security informuje, že se jedná jenom o AI slop, části kódu na které CVE odkazují, v daných verzích vůbec neexistují. Upozorňuje také, že čísla CVE jsou přiřazována bez ověřování.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2324 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI

    28. 11. 2012 | Ladislav Hagara | Návody | 7362×

    Pátý díl seriálu věnovanému snímacímu zařízení Kinect pro Xbox 360 a jeho využití v operačním systému GNU/Linux. V minulém dílu byl představen projekt OpenNI a knihovna stejného jména. V dnešním dílu to bude programovací jazyk a prostředí Processing a knihovna SimpleOpenNI přizpůsobující rozhraní knihovny OpenNI rozhraní Processingu.

    Obsah

    Programovací jazyk a prostředí Processing

    link

    Processing (Wikipedia) je svobodný programovací jazyk a současně vývojové prostředí. Projekt vznikl v roce 2001. U jeho zrodu stáli Benjamin Fry a Casey Reas, toho času studenti Massachusettského technologického institutu (MIT Media Lab). Cílem projektu bylo navrhnout a implementovat jednoduchý programovací jazyk, pomocí kterého by mohli neprogramátoři, především umělci a designéři, snadno a rychle vytvářet obrázky, vizualizace a animace. Nejenom umělci si Processing velmi rychle oblíbili. Rádi po něm sáhnou i opravdoví programátoři nebo učitelé, kteří jej používají při výuce programování. Processing vychází z  programovacího jazyka JAVA, má však jednodušší syntax. Samotný Processing je také naprogramován v jazyce JAVA. Jedná se tedy o multiplatformní software.

    Kinect pro Xbox 360 a GNU/Linux

    Pro Processing existuje celá řada rozšiřujících knihoven. Vlastnící Arduina pravděpodobně sáhnou po knihovně Arduino umožňující přistupovat k Arduinu z prostředí Processing. V Processingu lze vyvíjet také aplikace pro Android. Stačí sáhnout po knihovně Ketai.

    Instalace Processingu

    link

    Instalace programovacího jazyka a prostředí Processing je velice snadná. Stačí stáhnout balíček tgz a někam jej rozbalit. Není nutné ani instalovat Javu. Ta je obsažena v balíčku v adresáři java. Je-li Java v systému již nainstalována, lze adresář java smazat a vytvořit link java na systémovou Javu.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Aktuálně je Processing k dispozici ve stabilní verzi 1.5.1 a beta verzi 2.0b6. Beta verze je k dispozici jak pro 32bitové, tak pro 64bitové systémy. Stabilní verze je pouze 32bitová. Na 64bitových systémech proto může být nutné doinstalovat další balíčky. Například na 64bitové Fedoře 17 bylo nutné doinstalovat balíčky glibc.i686, libXext.i686, libXtst.i686 a mesa-libGL.i686.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    .../processing-1.5.1/java/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
    
    # yum install glibc.i686
    
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /.../processing-1.5.1/java/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
    
    # yum install libXext.i686
    
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /.../processing-1.5.1/java/lib/i386/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    
    # yum install libXtst.i686
    
    Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: /.../processing-1.5.1/modes/java/libraries/opengl/library/linux32/libjogl.so: libGL.so.1: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    
    # yum install mesa-libGL.i686
    

    Začínáme s Processingem

    link

    Nápověda k ovládání integrovaného prostředí, tutoriály (Getting Started) a příklady jsou k dispozici na webových stránkách Processingu nebo také lokálně v rozbaleném tgz balíčku. Příklady lze díky Processing.js spouštět přímo na webové stránce.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Nejjednodušeji lze Processing spustit z příkazového řádku pomocí ./processing. Samozřejmě lze k jeho spuštění využít také možnosti grafických uživatelských prostředí a vytvořit si položku v menu nebo ikonu na ploše. Po naběhnutí vývojového prostředí lze příklady z webových stránek kopírovat do okna editoru a spouštět je kliknutím na tlačítko „Run“. Vyzkoušet lze také lokální soubory s příklady. Programy pro Processing mají koncovku .pde.

    Knihovna SimpleOpenNI

    link

    Knihovna SimpleOpenNI, známa také jako simple-openni, přináší do prostředí Processingu podporu Kinectu. Jedná se o obal (wrapper) nad knihovnou OpenNI přizpůsobující rozhraní knihovny OpenNI (C) rozhraní Processingu (Java). Processing je tak rozšířen o funkce z knihovny OpenNI.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Je-li s knihovnou OpenNI nainstalován také binární blob NITE, lze v Processingu využívat rovněž funkce pro rozpoznávání polohy těla.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Instalace knihovny SimpleOpenNI

    Knihovnu SimpleOpenNI, stejně jako jiné knihovny rozšiřující vlastnosti Processingu, stačí stáhnout (soubor SimpleOpenNI-0.27.zip) a rozbalit do adresáře sketchbook/libraries. Problém může být s nainstalovanou verzí knihovny OpenNI. Například ve Fedoře 17 jsou sice balíčky s OpenNI knihovnou k dispozici, aktuální verze knihovny SimpleOpenNI s nimi ale není kompatibilní. Knihovna SimpleOpenNI verze 0.27 potřebuje libXnVNite_1_5_2.so, k dispozici je ale pouze libXnVNite_1_4_1.so.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Can't load SimpleOpenNI library (SimpleOpenNI32) : java.lang.UnsatisfiedLinkError: .../sketchbook/libraries/SimpleOpenNI/library/libSimpleOpenNI32.so: libXnVNite_1_5_2.so: cannot open shared object file: No such file or directory
    Verify if you installed SimpleOpenNI correctly.
    
    $ ldd …/sketchbook/libraries/SimpleOpenNI/library/libSimpleOpenNI32.so
        linux-gate.so.1 =>  (0xf77dc000)
        libOpenNI.so => /lib/libOpenNI.so (0xf769d000)
        libXnVNite_1_5_2.so => not found
        libstdc++.so.6 => /lib/libstdc++.so.6 (0xf75b4000)
        libm.so.6 => /lib/libm.so.6 (0xf7588000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf756b000)
        libc.so.6 => /lib/libc.so.6 (0xf73b9000)
        libusb-1.0.so.0 => /lib/libusb-1.0.so.0 (0xf73a9000)
        libdl.so.2 => /lib/libdl.so.2 (0xf73a4000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf738a000)
        librt.so.1 => /lib/librt.so.1 (0xf7380000)
        libtinyxml.so.0 => /lib/libtinyxml.so.0 (0xf736b000)
        /lib/ld-linux.so.2 (0xf77dd000)
    

    Nejjednodušším řešením je oficiální balíčky s knihovnou OpenNI odinstalovat, stáhnout zip soubor s kompatibilní verzí knihovny ze stránek SimpleOpenNI (soubor OpenNI_NITE_Installer-Linux32-0.27.zip nebo OpenNI_NITE_Installer-Linux64-0.27.zip), zip soubor rozbalit a knihovnu OpenNI postupně nainstalovat spuštěním sudo ./install.sh v adresářích OpenNI-Bin-Dev-Linux, NITE-Bin-Dev-Linux a kinect. V případě použití zařízení ASUS Xtion je nutné místo souborů v adresáři kinect nainstalovat soubory z adresáře Sensor-Bin-Linux.

    V případě instalace 32bitové verze Processingu je nutné nainstalovat také 32bitovou verzi knihovny OpenNI. V případě použití 64bitové knihovny lze získat pouze chybovou hlášku:

    Can't load SimpleOpenNI library (SimpleOpenNI32) : java.lang.UnsatisfiedLinkError: .../sketchbook/libraries/SimpleOpenNI/library/libSimpleOpenNI32.so: libOpenNI.so: wrong ELF class: ELFCLASS64
    Verify if you installed SimpleOpenNI correctly.
    

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Diskuse ke knihovně SimpleOpenNI a řešení souvisejících problémů probíhá v diskusní skupině simple-openni-discuss.

    Příklady aplikací v Processingu využívajících SimpleOpenNI

    link

    KinectMagicKnight

    link

    Rozšířená realita pomocí Processingu, knihovny SimpleOpenNI a Kinectu. Aplikace KinectMagicKnight sleduje postavu před Kinectem a do rukou ji vkládá světelný štít a meč. Vzpažením obou rukou lze štít a meč vyměnit za luk a šíp. Natažením ruky lze šíp vystřelit.

    Na webové stránce KinectMagicKnight je k dispozici zdrojový kód aplikace (KinectMagicKnight.pde). Ten stačí stáhnout a otevřít v Processingu. Processing vytvoří adresář KinectMagicKnight a stažený .pde soubor do něj přesune. Pak už stačí pouze kliknout na tlačítku „Run“.

    Aplikace KinectMagicKnight potřebuje knihovnu fullscreen (FullScreen API). Není-li nainstalována, opět ji stačí pouze stáhnout a rozbalit do adresáře sketchbook/libraries. Pro přepnutí do celoobrazovkového módu je určena kombinace kláves CTRL+F. Zpátky se lze dostat klávesou ESC.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Kinect AR in Processing

    link

    Aplikace Kinect AR in Processing je další ukázkou rozšířené reality. V prostoru před Kinectem se objeví otáčející se levitující krychle. Kolem krychle se lze procházet, případně to lze vzít i přímo přes ni.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Kinetic Space

    link

    Příklad složitější aplikace. V aplikaci Kinetic Space jsou předdefinovány pohyby a gesta, které se uživatel snaží napodobit. Pohyby a gesta lze pomocí aplikace také nacvičovat. Pokud je zobrazená postava zelená, pohyb nebo gesto je v pořádku. Červená barva upozorňuje na části těla, na které by se uživatel měl zaměřit. Pohyby a gesta lze také nahrávat.

    Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux Kinect pro Xbox 360 a GNU/Linux

    Příště

    link

    Příští díl bude věnován knihovnám GFreenect a Skeltrack. K rozpoznávání polohy těla už není nutný binární blob.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    28.11.2012 09:52 clovek1
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    prvni :)
    28.11.2012 11:03 ememe
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Pan trapáček s chudáčkova.
    28.11.2012 11:29 jehovista
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Muzes si za to sam. Prvni se nekrmi
    28.11.2012 15:32 mankind_boost
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Pravda, první se banuje.
    28.11.2012 20:02 Míra
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Processing je parádní, ale je škoda že některé podpůrné knihovny (G4P) mají slabou dokomunetaci :(.

    PS: S tím mečem úplně jak Jedi, mají ho i v červené? :D
    2.12.2012 23:21 Ladislav Hagara | skóre: 107 | blog: Ride the Raven
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Mají ho v libovolné RGB barvě. :-)
    Pro červenou stačí ve funkci drawSword změnit stroke(0, 255, 255, alpha) na stroke(255, 0, 0, alpha).
    29.11.2012 13:54 Kuk!
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Pekny clanek, muzu se zeptat, jestli to nejak cele funguju taky s Asus Xtion?
    2.12.2012 23:29 Ladislav Hagara | skóre: 107 | blog: Ride the Raven
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Funguje.
    Věta z článku: V případě použití zařízení ASUS Xtion je nutné místo souborů v adresáři kinect nainstalovat soubory z adresáře Sensor-Bin-Linux.
    4.12.2012 09:31 s0dd
    Rozbalit Rozbalit vše kinect fighter
    Tak to je brutalni, uz se nemuzu dockat, az se budu ucit kung-fu pomoci kinect-space ;)
    25.6.2017 12:06 michal
    Rozbalit Rozbalit vše Re: Kinect pro Xbox 360 a GNU/Linux – Processing a SimpleOpenNI
    Potrebuji nakopnout, jsem ve fazi kdy vidim svoji kostru v aplikaci Sample-Players (doinstaloval jsem NITE), a ted bych to potreboval propojit s blendrem, nemate nekdo nejaky napad? zkousel jsem googlit ale obevil jsem navody jen pro win.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.