Hikvision VisionMaster は、以降 VM と呼ばれます。
私の意見では、VM は適切に設計されています。ただし、VM のヘルプ ドキュメント、ルーチン。かなりずさんです。それは完全に対処の結果です。
そこで、一般的に使用される演算子を説明し、アプリケーション シナリオを紹介するシリーズを開始します。
VM には合計 100 を超えるオペレーター ツールがあります。私の理解に従っていきます。分類して説明します。
1) 通信カテゴリ: データ受信、データ送信、プロトコル解析、通信管理、トリガーツール。
2) ロジックフロークラス: 条件検出、分岐モジュール、条件分岐、ループ。
3) 位置決めカテゴリ: マッチング、位置補正。
4) 点の検索とエッジの検索: 円の検索、直線の検索など。
5) 計算カテゴリ: 点、ワイヤ、線などの測定。直線、円フィッティング。角度の二等分線、垂直の計算。計算を回転させます。
6) 校正: N 点校正、校正板校正。
7) 補助クラス: 書式設定、ジオメトリの作成、およびレンダリング表示設定。
8) 独立したツール: バーコード検出、文字欠陥検出。ディープラーニングもこのカテゴリに分類されます
9) 画像処理:画像操作、色、形態など。
1) 通信クラス: このタイプの演算子は画像処理とは関係ありませんが、重要なのはバイナリを理解することだと思います。バイナリを理解すると、さまざまなコミュニケーションの問題が理解しやすくなります。それについては前の投稿で書きました。ここでは繰り返しません。以下のリンクをご覧ください。
3 Hikvision Vision プラットフォーム VisionMaster 入門シリーズ: Communication_HuangGong2022 のブログ - CSDN ブログ
2) ロジック フロー クラス: ロジック フローチャートを使用するときに使用する必要がある、順次実行、条件付き実行、およびループ実行を指します。対応するオペレーター。このタイプのオペレータは画像処理とは何の関係もありません。しかし、それは重要です。比喩を作成するには、コミュニケーション ツールと論理ツールを使用してビジュアル プログラムの骨格を構築します。それはプログラムのまさに基礎です。肌や見た目にはさまざまな独創的な画像アルゴリズムが組み込まれています。どんなに肌が良くても骨格に問題があるのです。結局それも無効化されています。したがって、私たちはこれらの基盤を軽視してはなりません。
VM はうまく設計されていると思います。VM が通信を確立するのに非常に便利なロジック フローであることが非常に重要です。プログラム フローを書くことは、詳細な ppt フローチャートを書くこととまったく同じです。
a. 順次実行: VM モジュールの実行シーケンスは矢印の方向に基づいており、直接見ることができ、非常に直感的です。
b. 条件付き実行: フローチャートの解釈 (ppt のフローチャートのひし形) であり、条件が true であるかどうかに応じて、処理が機能しない方向に進みます。以下の図 1 に示すように、<条件検出> ツール モジュールを使用して、複数の条件を or または not と組み合わせることができます。
下図のように、<分岐モジュール>を使用すると、前回の<条件検出>の結果に応じて複数分岐選択を行うことができます。
上記は条件付き実行の最も基本的な使用法です。
c. ループの実行: 以下の図に示すように、VM ループはグループを通じて実装されます。対応ツール<グループ>
小さなレンチのアイコンをクリックして、サイクルを有効に設定します。ループ条件を設定できます。
グループアイコンをダブルクリックして、編集サイクルの内容を入力します。ループ内には完全なプロセスがあります。任意のプロセスを編集できます。
リサイクルについての私の提案は、使わずに使えるのであれば必要ないということです。その理由は、Group モジュールにバグがあるためです。
まず、グループ ループを有効にした後は、シングルステップ デバッグを実行できません。デバッグには非常に不親切です。
次に、単一グループの内部例外によってループが終了できない場合、プログラムは停止します。ループを外部で強制終了することはできません。プログラムを強制終了することのみ可能です。
ほとんどの場合、ループはプロセス自体をトリガーすることで実現できます。
ループを使用する必要があるケースは 1 つだけです。それは、テンプレートが複数のオブジェクトに一致し、複数のオブジェクトに対して同じ処理を実行する必要がある場合です。
この場合にのみ、グループ ループを使用する必要があります。デバッグ時はループをオフにすることをお勧めします。デバッグするテンプレート オブジェクトのシリアル番号を手動で渡します。
この投稿は以上です。次の投稿に進みます。
追伸:
コミュニケーション、つまり論理的な流れがビジョン プログラムの骨格です。必ずしっかりと持ってください。シンプルさにがっかりしないでください。その結果、プロジェクトに取り組む際にプロセスロジックのチェックに多くの時間が無駄になり、通信に異常が発生します。
小学生が算数を習うのと同じで、まずは四則演算と99の九九をマスターしましょう。尻尾を残さないでください。方程式を解くことができるようになるまで待ってはいけないのに、いつも間違いを犯してしまいます。