えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

Windows10でzed stereoをPythonで動かせた話

動作して嬉しかったので書きます。後々Qiitaとかにも上げようと思います。

何をしたいのか

Windows10でzed2 stereo cameraをPythonで動かせるようにする。具体的には、zed-examplesを動かす。

環境

ハードウェア

・OS:Windows10 home

・CPU:Ryzen 7 2700x

GPU:GTX 1650

・Camera:Zed2 stereo Camera

ソフトウェア

IDEVisual Studio 2019(無償のやつ)

・Anaconda3(Python3.7)

・ZED SDK for Windows10 3.1.2 CUDA10.2

依存環境・パッケージ等

・CUDA10.2 (ローカルインストーラーを使用)

python-opencv 4.1(pipを使用)

・Cython,Numpy (pipを使用)

・WIndows10にカスタムされたPyOpenGL(後述)

手順(説明雑ですが、後々再検証します)

既にAnaconda3とVisualStudioの導入が終わっているものとする。

  • 手順1・CUDA toolkit→ZED SDK for Windwosの順にインストールする。この時の最新バージョンを使った。(CUDA toolkit→10.2,ZED SDK 3.1)

  • 手順2・Pythonの依存パッケージをインストールする。Anaconda3環境で行うこと。この場合も最新バージョンを使った。

    pip install python-opencv Cython Numpy

  • 手順3・ZED Python APIをインストールする。ただし、管理者権限のターミナルを使うこと。

     ZED Python APIについてはhttps://www.stereolabs.com/docs/app-development/python/install/を参考にした。

  • 手順4・OpenGLをインストールする。これがなかなかうまくいかず躓いたが、実は、PyOpenGLは直接pipでインストールしてはいけない。

    • 手順4.1: このページから、PyOpenGL-3.1.5-cp37-cp37m-win_amd64.whlをダウンロードした。この時に、PyOpenGL_accelerateと間違えないように注意すること。(ただし、インストールしても問題ない)

    • 手順4.2:手順4.1でダウンロードしたファイルのフォルダに行き、

      pip intall PyOpenGL-3.1.5-cp37-cp37m-win_amd64.whlと実行する。

      python3(Anaconda3)で"from OpenGL.GL import *"が通ることを確認した。

  • 手順5・zed-examples(Github Link)をダウンロードして、VisualStudioでプロジェクト化する。

  • スタートアップファイルを指定して、Python3.7(Anaconda3)で実行

f:id:Ray_ar:20200602002957j:plain

実行結果(positional tracking)

f:id:Ray_ar:20200602002525g:plain

できた。手順をざっくり書いているので、うまくいく人はすんなりとできるかもしれないが、WindowsPythonのコードをあまり書いていなかった自分にとっては少し苦戦した。とりあえず動いてよかった。

手順通りにやって動かないなどの質問等あれば書いてください。

おわり