一般的な計算の実行
イントロダクション
画像処理ツールやコンピューター ビジョン ツールの使用とは別に、ほとんどの場合、数値や幾何学的座標に関する一般的な計算を実行する必要もあります。 Aurora Vision Studio でこれを行うには 2 つの方法があります。
- 標準ライブラリのフィルターを使用します。
- 特別な数式ブロックを使用する。
例
斜辺 \(\sqrt{a^2 + b^2}\) を計算する必要があると仮定します。 考えられる解決策は次の 2 つです。
数式ブロックを使用する 2 番目のアプローチが最も推奨されます。 データ フロー プログラミングは数値計算にはあまり適しておらず、数式ブロックで直接定義できる標準数式の方が読みやすく、理解しやすいです。 この機能は、マシン ビジョン アルゴリズムに小さなスプレッドシートを埋め込む機能と考えることもできます。
数式ブロックの作成
数式ブロックを作成するには:
ツールボックス(Logic & Math section)のFormulaをプログラムエディタにドラッグ&ドロップします。
コンテキスト メニューを使用するか、入力の追加 リンクと 出力の追加 リンクをクリックして、入力と出力を追加します。
各入力に対して、名前とタイプを定義します。
出力を作成するには、まず 出力の追加 ボタンを押します。 テンプレート名 outName の新しい出力が作成されます。
強調表示された名前を意味のある名前に置き換えます。 入力中に、利用可能なオプションを示すツールチップが表示されます。
各オプションの使用例:
名前の後に等号 = と式を入力します。 出力のタイプを定義する必要はありません。 タイプは自動的に割り当てられます。
名前の後に as を追加し、その後に LabelName を追加します。 このラベルは、後で数式出力として表示されます。
前のポイントで説明したように、名前の後にラベルを追加します。 次に、コロン : を追加し、出力タイプを直接指定します。
最後のオプションでは、出力タイプが直接定義されます。 名前の後にコロン : を追加し、出力タイプを直接指定します。
最終的な式はこのようになります
数式の出力データだけでなく、数式の外にある他のフィルターの入力や出力にもラベルを付けることができます。
この方法により、新しい数式入力を明示的に定義せずに、数式内の別のラベル付きデータへの直接呼び出しを実行できます。
下の画像では、マクロフィルターの入力 A にラベルが付けられ (紫色で強調表示されています)、このラベル (A) の直接呼び出しが数式ブロック内で実行されます。 その後、出力 斜辺 は、出力矢印接続を使用して直接リンクするのではなく、ラベルを介してマクロフィルター出力に接続されます。
備考
- 既存の数式は、プログラム エディターの数式ブロックで直接編集することもできます。
- 接続を数式ブロックにドラッグ アンド ドロップすることで、新しい入力と出力を作成することもできます。
- 間違った数式を含む数式ブロックは、赤い背景でマークされます。 このようなフィルタを含むプログラムは実行できません。
- 出力の式を定義する場合、事前に定義されていれば、他の出力を使用することができます。 順序は出力コンテキスト メニューから変更できます。
- 効率上の理由から、画像や領域などの「重い」オブジェクトを数式で使用しないことをお勧めします。
構文とセマンティクス
構文とセマンティクスの詳細については、『プログラミング リファレンス』の記事「数式」を参照してください。