MATLABでopen3dを触ってみた!(Anaconda環境で)

お疲れ様です。
今回は MATLAB から Python を呼び出して open3d を使う というテーマです。
「MATLAB で open3d を触ってみたい!(しかも Anaconda 環境で)」と思い立って挑戦したのですが、実際にはいくつかの壁がありました。そこで、同じように試してみたい方の参考になるよう、環境構築の手順をまとめました。

目次

バージョンについて

Step1 open3dが動く環境を作る(Anaconda)

Step2 MATLABに作った環境を紐づける

バージョン

意外とバージョンの制約がありました。事前に組み合わせを確認した結果、今回は次のバージョンを使うようにしました。

  • MATLAB 2025a
  • pythonのバージョンは3.12
  • open3dはconda-forgeを使用

Step1 open3dが動く環境を作る(Anaconda)

1-1 Anacondaをインストールする

まずはAnacondaをインストールですね(省略)
→ https://www.anaconda.com/

1-2 condaコマンドで環境を作る(環境名:TestOpen3D)

続いて個別環境の構築です。環境名は任意ですが、今回は「TestOpen3D」で作成しました。GUI操作(Anacondaナビゲーター)を使用して環境を作ることもできますが、以前試したところ、待機時間で合計3日間ぐらいかかってしまったので、今回はcondaコマンドを使って環境の構築などを行っていきます。

まずは、Anaconda Promptを立ち上げます。

コマンドを入力します。

conda create -n TestOpen3D python=3.12

走り出して、

これで完了です。

無事できたかどうかは、AnacondaNavigaterで確認できます。

1-3 condaコマンドでSpyderを入れる

事前検証の時に、後工程でSpyderを入れるとエラーが起きたことがあったので、open3dを入れる前にSpyderを入れるのが良いかと感じました。

anacondapromptを立ち上げて…

環境を移動して…

activate TestOpen3D

Spyderをインストールします。

conda install spyder

無事Spyderをインストールができました

1-4 condaコマンドでopen3d/condaforgeをインストールする

続いて、open3d / condaforgeをインストールします。

このURLのようにいくつかのパッケージがあります。open3d / open3d-adminもありますが、最終更新日が3年前のように見えましたので、今回はopen3d / condaforge を使用しました。

TestOpen3D環境下で、コマンドを入れて

conda install -c conda-forge open3d

無事インストールができました

1-5 Spyderで動作確認する

無事open3dが動作するかSpyderで確認したいと思います。

AnacaondaNavigaterを立ち上げて

環境を変えて

Spyderを立ち上げます。

用意したplyファイルとコードを実行しました。

・Plyファイル(bunny.ply)

 以下のURLのデータを使用しました。
 G-PCD: Geometry Point Cloud Dataset ‒ MMSPG ‐ EPFL

・コード

import open3d as o3d

ply_path = "bunny.ply"
# 点群を読み込み
point_cloud = o3d.io.read_point_cloud(ply_path)
o3d.visualization.draw_geometries([point_cloud])

Plyファイルが表示できました。

無事、open3dが動作する環境を構築することができました。

Step2 MATLABで呼び出す

続いてMATLABでこの環境を呼び出します。

2-1 Anacondaで作った環境のパスを確認する

まずは、個別環境のパスを確認します。

今回はTestOpen3Dという名称にしましたので、この場所を探します。

私の場合は、anaconda3を探して→envを開いて

作成した環境名(今回はTestOpen3D)を開きます。

その中の「python」が大事です

2-2パスをコピーする

2-1で探した「python」のパスをコピーします。

メモ帳などにコピーしておきます。

私の場合は、以下のパスでした。

"C:\Users\Owner\anaconda3\envs\TestOpen3D\python.exe"

2-3 matlabを立ち上げる

MATLABを立ち上げます。

2-4関数pyversionの引数に、コピーしたパスを貼り付ける。

MATLABを立ち上げたら、TestOpen3Dの環境を紐づけます。

今回はpyversion関数を使用しました。

コマンドウィンドウに以下を入力します。

pyversion("C:\Users\Owner\anaconda3\envs\TestOpen3D\python.exe")

% "C:\Users\Owner\anaconda3\envs\TestOpen3D\python.exe"はご自身の環境で変化します。

無事に設定が完了していると、>> pyversion でTestOpen3Dのpythonのバージョンが表示されます。

無事に紐づけが完了しました。

2-5ライブスクリプトを作成する

続いてライブスクリプトを作成します。

タスク(Pythonコードの実行)を追加します。

2-6タスクを追加する

2-5でタスクを追加した後の画面です。

※今回は、自動実行はオフにした方がいいかもしれません。

2-7貼り付ける

タスク(Pythonコードの実行)に1-5で貼り付けたコードを張り付けます。

実行します

Plyファイルが無事に表示されました。

無事に動作しました。

終わりに

今回はMATLABでopen3dを開いてみるということを試してみました。今回は直接MATLABのコードと接続していませんが、もちろん変数としてやり取りすることができるかと思います。Open3dにはいろいろな関数があるので今度試してみようかと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA