Pythonを使用して結果を計算

機能

Pythonを介してカスタマイズのスクリプトを実行し、計算結果をMech-Visionに出力します。

このステップの特徴は以下の通りです。

  • マルチスレッドでの使用をサポートします。

  • Pythonスクリプトをリアルタイムに読み込むことができます。

  • C++側とPython側でデータを転送する際に、複数のデータ型変換をサポートします。

  • Python側からのログのMech-Visionへのリダイレクトに対応します。

使用シーン

カスタマイズの計算が必要な場合は、このステップを使用してビジョンソリューションを簡素化するPythonスクリプトを実行することができます。

入力と出力

  • 入力: パラメータ 入力ポート に入力されたデータ型によって決定されます。

  • 出力: パラメータ 出力ポート に入力されたデータ型によって決定されます。

ヒント

このステップの入出力ポートのデータ型は、前後のステップの入出力ポートのデータ型に基づいて決定することができます。

インストールと使用

インストール方法

Python 3.6.8はMech-Visionに組み込まれており、このステップではソフトウェアの組み込み環境を使用します。使用中にPythonライブラリが不足した場合は、Mech-Visionの組み込みPython環境に不足したPythonライブラリをインストールする必要があります。インストール方法は以下の通りです。

  1. コマンドプロンプトを開きます。

  2. コマンドラインから「cd」コマンドを使用して、Mech-VisionのPythonディレクトリへのパスを切り替えます。

  3. python -m pip install Pythonライブラリのコマンドを実行し、対応するPythonライブラリをダウンロードしてインストールします。

ヒント

Pythonの一般的なライブラリであるnumpyとopencvは、Mech-Visionに組み込まれています。

使用方法

詳細は以下の通りです。

  1. 入出力ポートのデータ型を設定します。 入力ポート出力ポート のデータ型は、前後のステップの入出力ポートのデータ型に従って、または必要に応じて入力してください。

  2. Pythonスクリプトのパスを設定します。読み込むスクリプトのパスを スクリプトファイルのパス で選択します。

  3. 呼び出される関数の名前を設定します。スクリプトパスを選択すると、このステップではスクリプト内の関数名が自動的に取得されます。次に、 呼び出される関数名 のドロップダウンリストで呼び出されるスクリプト関数名を選択する必要があります。

  4. ステップを実行します。

ちなみに

このステップで、最新のPythonスクリプトが変更されたときにリアルタイムで実行させたい場合は、ステップパラメータの 実行フラグ の下にある 必要なファイルを再読み込み にチェックを入れてください。

ヒント

各パラメータの詳細については、 パラメータの説明 をご参照ください。

使用上の注意事項

この手順でPythonスクリプトを作成し、実行する場合、以下の点に注意する必要があります。

サードパーティライブラリの使用を推奨

Mech-VisionでPythonスクリプトを実行することと、Python環境でPythonスクリプトを実行することは異なるため、一部のPythonライブラリがインストールされていない、またはインストールしても動作しない場合がありますので、サードパーティ製ライブラリの使用を推奨します。

numpyライブラリの使用に注意

Pythonがサポートするデータ型のうち、より複雑な型はnumpyライブラリを介して中間フォーマットとして使用されるデータ型です。numpyの配列型であるパラメータ型がありますが、numpyにインポートされていない場合、エラーが発生します。そこで、スクリプトの先頭に import numpy を追加する必要があります。

スクリプト作成際にデータ型の次元に注意

Pythonスクリプトを作成には、ステップポートの基本データ型のデータ次元に注意を払う必要があります。

  • デフォルトのデータ次元は0:Image; Cloud(XYZ); Cloud(XYZ-Normal)。

  • デフォルトのデータ次元は1:NumberList; BoolList; IndexList; StringList。

  • デフォルトのデータ次元は2:PoseList; Pose2DList; Size3DList。

ヒント

データ型の後に"[]"記号を追加して、データ次元の追加を示します。

例えば、NumberListは1次元の値のリスト、NumberList[]は2次元の値のリストを表します。

パラメータの説明

入力ポート
パラメータ説明:このパラメータは、ステップの入力ポートのデータ型を設定するために使用されます。入力データ型は、対応する順序で呼び出された関数にパラメータとして渡されます。
初期値:なし。
出力ポート
パラメータ説明:このパラメータは、ステップの出力ポートのデータ型を設定するために使用されます。関数が返すデータは、対応する順序でステップに返され、対応するデータ型に従って解析されることになります。
初期値:なし。

ヒント

現在対応しているデータ型は以下の通りです。

PoseList; Pose2DList; NumberList; StringList; Image;Cloud(XYZ); Cloud(XYZ-Normal); Size3DList; StringList; BoolList

スクリプトファイルのパス
パラメータ説明:このパラメータは、読み込むスクリプトのファイルパスを選択するために使用されます。
初期値:なし。
呼び出される関数名
パラメータ説明:このパラメータは、呼び出されるスクリプト関数の名前を設定するために使用されます。
初期値:なし。