AzureKinectをはじめーる（Windows10、C++）

# はじめに
AzureKinect持ってないけど、ビルドします。

# 開発環境
- Windows 10（RTX2080 Max-Q、i7-8750H、RAM16GB）
- Azure Kinect SDK 1.4.0
- Azure Kinect Body Tracking SDK 1.0.1
- OpenCV 4.3.0
- CMake 3.18.0
- Visual Studio 2019

# [Azure Kinect SDK](https://docs.microsoft.com/ja-jp/azure/Kinect-dk/sensor-sdk-download)のインストール
Windows のダウンロード リンクの[Microsoft インストーラ](https://download.microsoft.com/download/4/5/a/45aa3917-45bf-4f24-b934-5cff74df73e1/Azure%20Kinect%20SDK%201.4.0.exe)からAzure Kinect SDKをダウンロード、Azure Kinect SDK 1.4.0.exeを実行し、インストールします。

スタートメニューからAzure Kinect Viewerが起動できればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/67c454be-ffa8-b657-fe2c-8b5f21986c9e.png)

# [Azure Kinect Body Tracking SDK](https://docs.microsoft.com/ja-jp/azure/kinect-dk/body-sdk-setup)のインストール

[Download Azure Kinect Body Tracking SDK](https://docs.microsoft.com/ja-jp/azure/kinect-dk/body-sdk-download)からversion 1.0.1の[msi](https://www.microsoft.com/en-us/download/details.aspx?id=100942)を選びダウンロード、Azure Kinect Body Tracking SDK 1.0.1.msiを実行し、インストールします。

# AzureKinectSampleやーる
Unaさんの[AzureKinectSample](https://github.com/UnaNancyOwen/AzureKinectSample)をクローンします。

## Visual Studio 2019で新規プロジェクト作成
Visual Studio Installerを開き、C++によるデスクトップ開発にチェックを入れ、C++の開発環境を構築しておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/13ae4e1d-b2f6-59e6-76e8-6155e3b4be83.png)

Visual Studio 2019を開き、C++のプロジェクトを作成し、AzureKinectSampleのsamples->cpp->colorのプログラムをコピペして動かしてみます。

新しいプロジェクトの作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/54634d18-81cd-c392-8fb3-f13288da2020.png)

空のプロジェクトを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/4837f387-7236-10a7-aa3b-a6d19335db67.png)

プロジェクト名を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/cb77ca7e-9540-17ea-4fb2-abef39994054.png)

既存の項目からファイルを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/6d2cc825-5659-12cf-36e9-371818546f7e.png)

ビルドするとライブラリが見えないエラーが出ると思います。k4aとopencvのライブラリを読み込む必要があります。

## OpenCV 4.3.0のインストール

[OpenCV – 4.3.0](https://opencv.org/releases/)の[Sources](https://github.com/opencv/opencv/archive/4.3.0.zip)をダウンロードします。

Cドライブの直下に置きます。

CMakeをインストールします。
[CMake](https://cmake.org/download/)から[cmake-3.18.0-rc1-win64-x64.msi](https://github.com/Kitware/CMake/releases/download/v3.18.0-rc1/cmake-3.18.0-rc1-win64-x64.msi)をダウンロードし、実行してインストールします。

CMakeを開き、OpenCVをビルドします。Configureをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/dac3a70b-8fe2-2aa9-ea55-0a30f60fec0d.png)

Visual Studio 2019を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/4d7dd169-acec-5434-df22-981691375dc5.png)

Generateをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/d4601f79-45ef-5212-4398-a67e3a900268.png)

生成されたOpenCV.slnを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/8de4064d-155e-446d-6428-9a4e18958811.png)

Release、x64でCtrl+Shift+Bでビルドします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/e7e5ef7a-ab55-5ba3-0582-09149748da8d.png)

## プロジェクトに戻ります

インクルードを準備します。
C:\opencv-4.3.0\include\opencv.hppをC:\opencv-4.3.0\build\include\opencv2へコピペ
C:\opencv-4.3.0\build\opencv2\opencv_modules.hppをC:\opencv-4.3.0\build\include\opencv2へコピペ

プロジェクトのプロパティ->C/C++->全般->追加のインクルードディレクトリに以下を追記します。

~~~
C:\Program Files\Azure Kinect SDK v1.4.0\sdk\include
C:\opencv-4.3.0\build\include
~~~

リンカを準備します。

リンカ->全般->追加のライブラリディレクトリに以下を追記します。

~~~
C:\Program Files\Azure Kinect SDK v1.4.0\sdk\windows-desktop\amd64\release\lib
C:\opencv-4.3.0\build\lib\Release
~~~

リンカ->全般->入力に以下を追記します。

~~~
k4a.lib
k4arecord.lib
opencv_core430.lib
opencv_highgui430.lib
opencv_imgproc430.lib
opencv_imgcodecs430.lib
~~~

VC++ディレクトリ->実行可能ファイルディレクトリに以下のパスを追記します。

~~~
C:\Program Files\Azure Kinect SDK v1.4.0\sdk\windows-desktop\amd64\release\bin
C:\opencv-4.3.0\build\bin\Release
~~~

しかし、DLLファイルが見つからないと出てしまったため（なぜ！）、DLLファイルをプロジェクトフォルダ直下にコピペしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/d286f65a-6cc8-3f53-cf6e-c0d704499e8f.png)

Ctrl+F5で実行してみるとFailed to found device!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/820be806-a682-4850-a058-b196bca3e3d2.png)

実機欲しい！！！

（C++は導入が面倒なのでPythonやりましょ～）

# 追記
実機を持っている方に試していただきました！ちゃんと動きました！
![104191300_260249715304706_5252321078607939458_n.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/19880c6e-9a54-9cb4-f72b-7e4d94b52f9e.jpeg)