読者です 読者をやめる 読者になる 読者になる

Natural Software

KinectなどのDepthセンサーを中心に活動しています

OpenNI2(Beta) 入門(4) :接続されているデバイスを列挙する

OpenNI2入門

OpenNI2 には Kinect for Windows SDK のように、接続されているデバイスを列挙するAPIが追加されました。

#include <iostream>

#include <OpenNI.h>

void main()

{

try {

openni::OpenNI::initialize();

openni::Array<openni::DeviceInfo> deviceInfoList;

openni::OpenNI::enumerateDevices( &deviceInfoList );

std::cout << deviceInfoList.getSize() << std::endl;

for ( int i = 0; i < deviceInfoList.getSize(); ++i ) {

std::cout << deviceInfoList[i].getName() << ", "

<< deviceInfoList[i].getVendor() << ", "

<< deviceInfoList[i].getUri() << ", "

<< std::endl;

}

}

catch ( std::exception& ex ) {

std::cout << ex.what() << std::endl;

}

}

openni::OpenNI::enumerateDevices()で接続されているデバイスを取得します。openni::DeviceInfoに情報が入るので列挙してみます。openni::DeviceInfo::getName()にデバイス名(KinectとかPS1080(Xtion)とか)、openni::DeviceInfo::getVendor()にベンダー名(MicrosoftとかPrimeSenseとか)、openni::DeviceInfo::getUri()に登録名が入っています。

任意のデバイスを使う場合は、openni::DeviceInfo::getUri()を利用します。