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 22:22 | Nová verze

    Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Komunita

    Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.

    Ladislav Hagara | Komentářů: 2
    včera 17:33 | Zajímavý software

    OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 9
    4.6. 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 15
    4.6. 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    4.6. 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 7
    4.6. 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

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

    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.