Maison >Tutoriel système >Linux >Comment utiliser le capteur Kinect 2.0 RGB-D pour des tâches complexes dans Ubuntu 16.04 ?
Dans les articles précédents, j'ai expliqué comment configurer OpenCV3.4.1kinect pour le pilote Linux dans Ubuntu16.04, et complété le contenu des connaissances de base basé sur certains tutoriels OpenCV, mais dans le processus d'apprentissage La plupart des images utilisées dans les expériences proviennent d'Internet ou s'appuient sur la caméra d'un ordinateur portable. Afin d'effectuer certaines tâches plus complexes, d'autres capteurs visuels doivent être utilisés. Voici donc un enregistrement d'Ubuntu 16.04 utilisant la détection Kinect2 .0RGB-D. contenu.
1. Installation du pilote
Kinect2.0 a officiellement fourni des pilotes prêts à l'emploi pour une utilisation dans les systèmes Windows, mais il existe un SDK correspondant qui peut aider les développeurs dans le développement d'applications. Cependant, dans les systèmes Linux, vous devez trouver le pilote open source correspondant sur Github. , mais pour l'installation et le débogage.
Le package de pilotes open source pour Kinect2.0 se trouve à l'adresse :
Il contient deux types de pilotes, l'un est libfreenect pour le pilote Kinect de première génération et l'autre est libfreenect2 pour le pilote Kinect de deuxième générationkinect pour le pilote Linux Dans cet article, le pilote de deuxième génération est utilisé. Le contenu suivant concerne le système Ubuntu. Si vous souhaitez vérifier d'autres systèmes, vous pouvez accéder à : Afficher la description détaillée du package de pilotes.
1.1 Configuration matérielle requise
Les machines virtuelles ne fonctionnent probablement pas, car le transfert isochrone USB3.0 est assez délicat.
1.2 Configuration requise pour le système d'exploitation
Puisque nous nous concentrons uniquement sur Ubuntu, nous répertorions uniquement la configuration requise pour le système Ubuntu :
1.3 Options de configuration facultatives 1.4 Installer le pilote Kinect2.0
<span class="hljs-built_in">cd</span> ~<span class="hljs-comment">#设置克隆目录,当前在Home目录中,也可以设置在其它目录中</span> git clone https://github.com/OpenKinect/libfreenect2.git <span class="hljs-built_in">cd</span> libfreenect2
sudo apt<span class="hljs-attribute">-get</span> install build<span class="hljs-attribute">-essential</span> cmake pkg<span class="hljs-attribute">-config</span>
sudo apt<span class="hljs-attribute">-get</span> install libusb<span class="hljs-subst">-</span><span class="hljs-number">1.0</span><span class="hljs-subst">-</span><span class="hljs-number">0</span><span class="hljs-attribute">-dev</span>
sudo apt<span class="hljs-attribute">-get</span> install libturbojpeg libjpeg<span class="hljs-attribute">-turbo8</span><span class="hljs-attribute">-dev</span>
sudo apt<span class="hljs-attribute">-get</span> install libglfw3<span class="hljs-attribute">-dev</span>
sudo apt<span class="hljs-attribute">-get</span> install libopenni2<span class="hljs-attribute">-dev</span>
mkdir build && <span class="hljs-built_in">cd</span> build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/<span class="hljs-comment">#修改了原来的安装位置</span> make <span class="hljs-built_in">sudo</span> make install<span class="hljs-comment">#这里直接用root权限安装,如果是普通权限有的时候会出现安装不成功的情况</span>
sudo <span class="hljs-keyword">cp</span> ../platform/linux/udev/<span class="hljs-number">90</span>-kinect2<span class="hljs-preprocessor">.rules</span> /etc/udev/rules<span class="hljs-preprocessor">.d</span>/
./bin/Protonect<span class="hljs-comment">#重新接入之后运行测试</span> <span class="hljs-built_in">sudo</span> apt-get install openni2-utils && <span class="hljs-built_in">sudo</span> make install-openni2 && NiViewer2 <span class="hljs-comment">#可选测试</span>
Pendant le processus de reconnexion, si vous rebranchez simplement le port USB, cela risque de ne pas prendre effet. Le moyen le plus sûr est d'éteindre Kinect, puis de le rallumer. Le port USB n'a pas besoin d'être rebranché pendant la mise sous et hors tension. processus. .
1,5 résultats des tests
S'il n'y a aucun problème avec l'hôte virtuel Linux dans toutes les étapes ci-dessus, vous pouvez obtenir quelque chose de similaire à ce qui suit :
运行可选的测试命令也会出现类似的图象,但那种是全屏的,按下ESC就可以退出,就不再放图片了,所以到了这一步linux游戏,驱动包的安装就早已成功了,下边的内容是假如在代码中使用传感获取数据,这一步才是最须要关注的。
2.编程实现
编程实现通过Ubuntu读取Kinect的数据,同样须要利用于驱动包所提供的库函数,下边就详尽解释怎样在程序中实现数据的获取与处理。首先以下为须要包含的头文件:
<span class="hljs-preprocessor">#include </span> <span class="hljs-preprocessor">#include </span> <span class="hljs-preprocessor">#include </span> <span class="hljs-preprocessor">#include </span> <span class="hljs-preprocessor">#include #用于日志信息,视需求可省略</span>
具体代码的实现参考了以下网址:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!