Help us understand the problem. What is going on with this article?

Mac + Python で Intel RealSense D415 を使用する

More than 1 year has passed since last update.

はじめに

kinectが販売終了になってからしばらく経ちましたが、代替手段として何か良い機材がないかと思っていたところ、Intel RealSense Depth Camera というデバイスが登場したので触ってみました。

できること

  • Intel RealSense Depth Camera D415 のColor画像、Depth画像をpython上で配列取得する。

スクリーンショット 2018-04-08 22.49.47.png

機材準備

今回使用するRealSenseのモデルはD415とD435が存在し、共にスイッチサイエンスさんから購入可能です。
https://www.switch-science.com/catalog/3632/

D435はD415よりも広角かつグローバルシャッター(カメラや被写体が高速に移動しても歪まない)搭載モデルとなっています。ですが、広角なのはDepthカメラのみで、RGBカメラは同じ画角になっているようです。カラー画像とデプス画像の領域が同じになるようにしたかったので、今回はD415を使用します。

環境

  • MacBook Pro (2.7 GHz Intel Core i5,16 GB 1867 MHz DDR3)
  • macOS Sierra

手順

ここでは、brewでインストールしたpythonを使用します。
(試したところ、macにデフォルトで入っているpythonだと、cmakeの時に正常にpython モジュールが吐かれないことが分かっています)

環境構築

$brew install python
$brew install libusb pkg-config
$brew install homebrew/core/glfw3
$brew install cmake

ソースコードをcloneしましょう。

$git clone https://github.com/IntelRealSense/librealsense.git

まずは、チュートリアルの通りにサンプルプログラムをビルドしてみましょう。

$mkdir build && cd build
$cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -G Xcode

自分の環境ではcmake時に以下のようなエラーが出ました。

G Xcode
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (project):
  No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:4 (project):
  No CMAKE_CXX_COMPILER could be found.
-- Configuring incomplete, errors occurred!

コンパイラの設定が正しくない様子。

$sudo xcode-select --reset

こちらでxcodeのパスをリセットしたら上手く行きました。

pythonモジュールを生成する

pythonモジュールをコンパイルするために、cmake時に以下のようにフラグを立てて実行します。

$cmake ../ -DBUILD_PYTHON_BINDINGS=bool:true                                                               

26 月 1:20:30 
-- Info: REALSENSE_VERSION_STRING=2.10.1
CMake Warning at CMakeLists.txt:561 (message):
  Using libuvc!


-- pybind11 v2.2.1
CMake Error at wrappers/pcl/CMakeLists.txt:20 (find_package):
  By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "PCL", but
  CMake did not find one.

  Could not find a package configuration file provided by "PCL" with any of
  the following names:

    PCLConfig.cmake
    pcl-config.cmake

  Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
  to a directory containing one of the above files.  If "PCL" provides a
  separate development package or SDK, be sure it has been installed.

ここでエラー
PCL(Point cloud library)が入っていないので入れます。

$ brew install cmake
$ brew install boost
$ brew install eigen
$ brew install flann
$ brew install vtk5 –with-qt
$ git clone https://github.com/PointCloudLibrary/pcl
$ cd pcl
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

このあと、次のようなオプションで無事にコンパイルすることができました。

cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE:FILEPATH=/usr/local/bin/python  -G "Unix Makefiles"
make
sudo make install

サンプルプログラムは/wrappers/python/examplesに入っています。

$cd librealsense/wrappers/python/examples
$python opencv_viewer_example.py

スクリーンショット 2018-04-08 22.49.47.png

これでpythonから自由にカラー画像とデプス画像にアクセスできます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away