OpenNI 3Dセンサープログラミング

概 要

様々な3Dモーションセンサー(Xtionシリーズ、Carmine、Kinect for Windows)を活用したアプリケーション開発を支援するオープンソースライブラリ『OpenNI』の入門書。Windows、Mac OS X、Linux/ARMなど様々なプラットフォームにおける開発環境の構築、OpenNIとミドルウェアNiTEの基本機能を使った各種サンプルプログラム、Raspberry Piによるポータブルセンサーの実現、Android環境への組込み事例紹介、新規センサーサポートの追加、OpenNIコミッタ―によるコミュニティへの招待と活用方法、OpenNI 2/NiTE 2の日本語APIリファレンスなど、盛り沢山の内容でお届けます。執筆に使用したOpenNI/NiTE、サンプルファイルのダウンロードサービス付き。

著者 中村薫、新里祐教、鷲尾友人
価格 本体3200円(税別)
ISBN 978-4-7980-3916-9
発売日 2013/8/31
判型 B5変
色数 1色
ページ数 328
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

1 概要

1.1 OpenNIとは

1.2 OpenNIのバージョンによる違い

1.3 OpenNIで利用できるセンサー

1.4 OpenNIのライセンス

1.5 OpenNIで何ができるのか

1.6 OpenNIがサポートする環境

1.7 本書の対応環境

1.8 サンプルコードおよびライブラリのダウンロード

2 OpenNIの基本

2.1 カラーカメラの画像を表示する

2.1.1 ヘッダーファイル

2.1.2 OpenNIの初期化

2.1.3 DepthSensor クラス

2.1.4 initialize()

2.1.5 update()

2.1.6 showColorStream()

2.1.7 Xtionの解像度

2.1.8 Kinect for Windowsセンサーの利用

2.2 Depthカメラの距離データを使ってみる

2.2.1 変数の追加

2.2.2 initialize()

2.2.3 update()

2.2.4 showDepthStream()

2.2.5 Kinectセンサー

2.3 ストリームデータの情報を使ってみる

2.3.1 initialize()

2.3.2 showStreamParameter()

2.3.3 changeMirrorMode()

2.3.4 changeCropping()

2.4 DepthカメラのIR画像を表示する

2.4.1 initialize()

2.4.2 showColorStream()

2.5 ストリームデータの記録と再生

2.5.1 変数の追加

2.5.2 ストリームデータの記録

2.5.3 ストリームデータの再生

2.6 接続されているセンサーを列挙する

2.7 接続されているセンサーをすべて利用する

2.7.1 DepthSensorクラス

2.7.2 SampleApp

2.7.3 main()

2.8 センサーの挿抜を認識する

2.8.1 Listenerクラス

3 NiTEの基本

3.1 ユーザーを検出する

3.1.1 ヘッダーファイル

3.1.2 NiteAppクラス

3.1.3 main()

3.2 ユーザーの骨格を検出する

3.2.1 void update()

3.2.2 showSkeleton()

3.3 ポーズを検出する

3.3.1 update()

3.3.2 showPose()

3.4 ジェスチャーを検出する

3.4.1 initialize()

3.4.2 update()

3.4.3 showGesture()

3.5 手を追跡する

3.5.1 変数の追加

3.5.2 showGesture()

3.5.3 update()

3.5.4 showHandTracker()

4 Mac OS X環境でクリエイティブ&メディアアート

4.1 Xcodeの環境設定

4.1.1 事前準備

4.1.2 Xcodeプロジェクトの作成と環境設定

4.1.3 サンプルアプリケーションの実行

4.2 openFrameworksでの利用

4.2.1 openFrameworksの設定

4.2.2 アプリケーションの実行

4.3 Unityでの利用

4.3.1 UnityとZDKの設定

4.3.2 アプリの作成

5 Windowsでいろいろなライブラリを使ってみよう

5.1 手の開閉を検出するGrab Detector

5.1.1 Grab Detectorライブラリの構成

5.1.2 ヘッダーファイル

5.1.3 アプリケーションクラス

5.1.4 初期化処理

5.1.5 Grab Detectorへデータを渡す

5.1.6 Grabイベントの通知

5.2 OpenNIを.NET(C#)で利用する

5.2.1 OpenNIを.NET(C#)で利用するためのNiWrapper.Net

5.2.2 NiTEを.NET(C#)で利用するためのNiWrapper.NiTE.Net

6 ARM環境でモバイルセンシング

6.1 OpenNI on ARMでできること

6.2 ARM環境との接続

6.2.1 ゲートウェイ方式

6.2.2 直接接続方式

6.3 Raspberry Piでの利用

6.3.1 利用する機器

6.3.2 環境整備

6.3.3 OpenNIのビルド

6.3.4 距離センサーを利用する

6.3.5 他デバイス連携

6.4 Androidでの利用

6.4.1 利用する機器

6.4.2 環境整備

6.4.3 OpenNIのビルド

6.4.4 距離センサーを利用する

7 OpenNIに新しいセンサーサポートを追加する

7.1 デバイス層のビルド

7.2 デバイス層の構成

7.2.1 OzDriver

7.2.2 OzDevice

7.2.3 OzImageStreamおよびOzDepthStream

7.3 新しいセンサーを追加する

7.3.1 この章のゴール

7.3.2 プロジェクトの作成

7.3.3 DepthSense SDKへの対応

8 OpenNIコミュニティに参加しよう

8.1 OpenNIコミュニティの活動

8.2 情報発信のすすめとその先にあるもの

8.3 公式フォーラム利用の手引き

8.3.1 トラブルシュートに役立てる

8.3.2 機能追加を提案する

8.3.3 世界の開発者と助け合う

8.4 開発成果を世界に公開・発信する

8.4.1 公式フォーラムでの気軽な発信

8.4.2 OpenNI Arenaでのフォーマルな発信

8.5 OpenNIソースコードに直接触れる

8.5.1 ダウンロードとビルド

8.5.2 自作コードでOpenNIの進化に直接貢献する

8.6 英語によるコミュニケーションのコツ

8.7 日本語のコミュニティ

9 開発環境の構築

9.1 Mac OSでのOpenNI開発環境の構築

9.1.1 XcodeとHomebrewのインストール

9.1.2 OpenNIとNiTEのインストール

9.1.3 プロジェクトの作成

9.2 WindowsでのOpenNI開発環境の構築

9.2.1 Visual Studio Express 2012 for Windows Desktopのインストール

9.2.2 OpenNI のインストール

9.2.3 OpenNIプロジェクトの作成

9.2.4 OpenNIアプリケーションの実行

9.2.5 NiTEのインストール

9.2.6 NiTEプロジェクトの作成

9.2.7 NiTEアプリケーションの実行

9.2.8 OpenCVのインストール

9.2.9 プロジェクトへのOpenCVの設定

9.3 ソースコードからのOpenNIのビルド

9.3.1 ソースコードのダウンロード

9.3.2 Mac OS/Linuxでのビルド方法

9.3.3 Windowsでのビルド方法

10 FAQ

10.1 環境

10.2 共通

10.3 Windows

10.4 Android

10.5 Linux ARM

11 OpenNI 2/NiTE 2 APIリファレンス

11.1 OpenNI 2

11.1.1 クラス、構造体

11.1.2 列挙体

11.2 NiTE 2

11.2.1 クラス、構造体

11.2.2 列挙体

PR

秀和システム