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í
×
    dnes 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    včera 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 2
    včera 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

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

    Vasudeva Kamath představil utilitu debvulns, alternativu k nativní utilitě debsecan, pro výpis zranitelností v Debianu. Navíc má především možnost výstupu ve strukturovaných formátech JSON a CSV. V plánu je exportér pro Prometheus.

    Ladislav Hagara | Komentářů: 0
    24.6. 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 27
    24.6. 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    24.6. 12:00 | Nová verze

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.

    … více »
    Ladislav Hagara | Komentářů: 14
    23.6. 21:00 | IT novinky

    Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.

    Ladislav Hagara | Komentářů: 16
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 1989 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 | 7267×

    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.