Operator Blob_Analysis_1D

オペレーターライブラリ:Blob

Blob_Analysis_1Dオペレーターは、無限の高さを持つバイナリ画像内のオブジェクトを検出し、そのPropertyを決定します。このオペレーターの出力は、各オブジェクトのPropertyを表す複数のデータストリームです。

[注] Blob_Analysis_1Dはレガシーオペレーターです

Blob_Analysis_1Dオペレーターはレガシーオペレーターであり、下位互換性の維持目的でのみ保持されています。新規の設計では、代わりにBlobDetector1Dを使用してください。

[注] 代わりに2Dオペレーターが必要になる場合があります

Blob_Analysis_1Dオペレーターは、オブジェクトが任意の位置にある取り込みに使用されます。ラインスキャンアプリケーションにおいて、画像トリガーによってオブジェクトの位置を特定できる場合は、代わりにBlob_Analysis_2Dオペレーターを使用してください。

このオペレーターリファレンスマニュアルには、以下の情報が含まれています。

  • オペレーターの機能の説明
  • 1Dアプリケーションのタイミングモデル
  • VisualAppletsハイレベルシミュレーションでのオペレーターの使用
  • オペレーターの入力ポートと出力ポート
  • I/O Property
  • サポートされているリンクフォーマット
  • パラメーター
  • 使用例

オペレーター機能の説明

ブロブ解析オペレーターの一般的な概要については、Library Blobのイントロダクションを必ずお読みください。

Blob Analysis 1Dオペレーターは、エンドレスな1次元画像向けに設計されています。一般に、2D Blob Analysisでは、オブジェクトの機能はフレーム内におけるオブジェクトの位置に関連付けられ、原点は画像の左上隅になります。これは、高さがエンドレスな1D画像では不可能です。この値が無限に増加したりオーバーフローを引き起こしたりするため、オブジェクトをy座標に関連付けることはできません。

VisualAppletsのBlob Analysis 1Dオペレーターを使用すると、オブジェクトが任意の位置に配置されるエンドレス画像を使用できます。このオペレーターには、オブジェクトの関連付け先となるリファレンス入力「LineMarkerI」が拡張されています。これは、たとえば外部エンコーダーとトリガーパルスによって制御されるCounterの値などです。この方法を使用することで、ブロブ解析によって特定された各オブジェクトを正しいリファレンス位置に割り当てることができます。

入力リンク「FlushI」は、出力をフラッシュするため、つまり出力フレームを完了させるために使用されます。たとえば、これはDMA転送を完了させるために必要となります。

次の図は、Blob Analysis 1Dオペレーターの動作を示しています。オペレーターの入力におけるサンプルデータと、その結果得られる出力を示しています。Blob Analysisによって処理されるバイナリのエンドレス画像が左側に示されています。2列目はLineMarkerI入力を表しています。ここでは、Counterを使用して、オブジェクトにリファレンス値をマークしています。視認性を高めるため、関心のある値のみが表示されています。ラインマーカー入力のBit Widthは9ビットであると仮定されます。したがって、値512でオーバーフローが発生します。3列目にはフラッシュ入力が示されています。この例ではフラッシュ条件は1つだけです。右側の列は、Blob Analysisオペレーターの出力を表しています。例を見るとわかるように、画像はラインマーカーとともにBlob Analysis中に処理されます。オブジェクトが完了するとすぐに、それが出力されます。すべてのオブジェクトの結果としてのオブジェクトPropertyには、それぞれのオブジェクトの最初の画像行とともに設定されたラインマーカーがマークされます。バウンディングボックスの座標X0およびX1はBlob Analysis 2Dのオブジェクト機能に似ていますが、Y1座標はオブジェクトの高さです。Y0座標は、Blob Analysis 1Dオペレーターの内部Counterの結果です。それはゼロから始まり、その最大値はオペレーターのPropertyダイアログで設定されたオブジェクトの最大高さと等しくなります。フラッシュ条件により、出力でエンドオブフレームフラグが発生します。

Blob Analysis 1Dオペレーターの動作

図404. Blob Analysis 1Dオペレーターの動作


2Dオペレーターと同様に、Blob Analysis 1Dオペレーターはすべての出力が同期する「M」タイプです。2Dとは対照的に、1Dオペレーターには3つの入力があります。最初の2つの入力「ImageI」および「LineMarkerI」は同期しており、同じMタイプのオペレーターから供給される必要があります。入力リンク「FlushI」は画像に対して非同期であるため、同期は必要ありません。次の図は、(他多数あるうちの)1つの可能な構成を示しています。

VisualAppletsネットワークにおけるBlob 1Dオペレーターの同期

図405. VisualAppletsネットワークにおけるBlob 1Dオペレーターの同期


出力フレームの生成 - フラッシュ、空フレーム、データの破棄

上述のとおり、フラッシュは出力フレームをファイナライズするため、つまりエンドオブフレームフラグを生成するために使用されます。フラッシュ入力のタイミングと画像内のオブジェクトに応じて、空のフレームだけでなく、多くのデータを含む出力フレームが生成される可能性があります。この動作を制御するために、パラメータoutput_frame_size_overflow_handlingおよびsuppress_empty_output_frames(以下のパラメータ説明を参照)が使用されます。次の波形は、パラメータ設定、データ、およびフラッシュ入力のさまざまな組み合わせのスケッチを示しています。「Blob Data」は出力タイミングを表しています。

最初の例は、最大フレームサイズに達した後の新しいフレームの生成を示しています。ブロブオペレーターは、出力フレームを完了させた最後のブロブが出力された後にエンドオブフレームを生成します。フラッシュ信号は追加のエンドオブフレームを生成します。

Blob 1Dのタイミング - 新しいフレームの生成

図 406. Blob 1D タイミング - 新しいフレームの生成


次の例は、空の出力フレームの抑制を示しています。ご覧のとおり、最初のフラッシュは無視されます。2 番目のフラッシュは、出力用のブロブが利用可能になるまで遅延されます。このようにして、オペレーターはフラッシュ出力を遅延させることができます。

Blob 1D タイミング - 空のフレームの抑制

図 407. Blob 1D タイミング - 空のフレームの抑制


3番目の例では、フラッシュ入力に定数 1 がある場合の動作を示しています。suppress_empty_output_frame が「yes」に設定されているため、オペレーターは各ブロブ出力の後にフレームの終了を生成します。警告: suppress_empty_output_frame が誤って「no」に設定されている場合、定数 1 により何百万ものフレーム終了が発生する可能性があります。この出力が VisualApplets の出力(DMA オペレーター)に接続されている場合、PC の過負荷を引き起こす可能性があります!

Blob 1D タイミング - 定数フラッシュ

図 408. Blob 1D タイミング - 定数フラッシュ


最後の例は、パラメータ「output_frame_size_overflow_handling」が「discard_exceeding_objects」に設定されている場合のオブジェクトの破棄を示しています。

Blob 1D タイミング - オブジェクトの破棄

図 409. Blob 1D タイミング - オブジェクトの破棄


出力タイミングは出力パイプラインに依存することにご注意ください。データを処理できない場合、つまり、ブロブオペレーターの後続のオペレーターが処理をブロックしている場合、フラッシュ信号が失われる可能性があります。

パフォーマンス

VisualApplets のブロブ解析オペレーターは、処理速度(つまり帯域幅)が画像コンテンツに依存する数少ないオペレーターの 1 つです。画像内に多数のオブジェクトが存在すると、オブジェクトリストが大きくなり、オペレーターの入力が遅くなる可能性があります。これは、非常に強いノイズを含む画像にのみ適用されます。制御された条件下では、オペレーターは十分に高速である必要があります。

レイテンシー

このオペレーターは、レイテンシを最小限に抑えるように設計されています。入力画像は、行単位で Blob Analysis に転送されます。オブジェクトがオペレーターに完全に転送されると、オペレーターがその完了を検出し次第、そのオブジェクトのオブジェクト特徴量が直ちに出力されます。したがって、Blob Analysis は、オペレーターへの転送が完了したオブジェクトから順に出力します。画像自体の処理が継続している間でも、オブジェクト特徴量の後処理を開始できます。

DMA およびその他のいくつかのオペレーターは、完了を報告する前にフレーム終了信号を待機することにご注意ください。Blob_Analysis_1D オペレーターでのフレーム終了生成については、フラッシュ入力の説明を参照してください。

オペレーターのシミュレーション

[Warning] Blob_Analysis_1D のシミュレーションは注意して使用してください

Blob 1D シミュレーションにはいくつかの制限があります。シミュレーション機能は十分に注意して使用してください。

VisualApplets は、画像プロトコルが 1Dであっても、通常の 2D 画像を使用します。したがって、オペレーターのシミュレーションには通常の画像を使用します。各画像は個別に処理されます。

オペレーターのシミュレーションは、ハードウェアの動作と**同一ではありません**。2つの違いがあります:

  • オブジェクト特徴量の出力順序は、ハードウェアとソフトウェアで異なる場合があります。これは、ハードウェアの出力が VisualApplets でシミュレートできないデータのタイミングに依存するためです。

  • 2 番目の(そして最も重要な)違いは、フラッシュ条件の動作です。FlushI 入力は、画像データ入力に対して完全に非同期です。FlushI は、出力フレームを完成させるため、つまり、出力ストリームにフレーム終了マーカーを挿入するために使用されます(上記および以下のパラメータ説明を参照)。フラッシュは画像データに対して非同期であるため、ハードウェアと同じ動作を反映するようにシミュレートすることはできません。したがって、VisualApplets のシミュレーションでは代替のシミュレーションモデルが使用されます。ハードウェアの動作を複製できないため、シミュレーションモデルは意図的にハードウェアとは異なる方法で実装されています。以下のプロパティを持っています:

    • シミュレーションでは、両方の入力のピクセル数をカウントすることにより、データ入力とフラッシュ入力の相関関係を比較しようとします。したがって、データ入力とフラッシュ入力の画像ディメンションが同じ場合、相関関係はピクセル位置に対して 1:1 になります。ただし、フラッシュ入力のピクセル数が少ない場合(たとえば、1行あたり 1 ピクセル)、シミュレーションのみがピクセル位置を比較します。

    • フラッシュ条件は、ハードウェアで行われるような完了との比較ではなく、オブジェクトの Y0 座標との比較でオブジェクトを出力します。

    • 画像の最後のオブジェクトが出力された後、それ以降のすべてのフラッシュ信号は無視されます。したがって、シミュレーションでは、入力時のフラッシュ信号の数はフレーム出力の数と相関しません。

    この動作のため、シミュレーションは注意して使用する必要があります。

    次の図は、ミニ画像に関するいくつかの例を示しており、シミュレーションでフラッシュ信号を使用する際のいくつかの特殊な条件について説明しています。

    シミュレーションシナリオ 1 - フラッシュと Y0 の関係

    図 410. シミュレーションシナリオ 1 - フラッシュと Y0 の関係


    シミュレーションシナリオ 2 - フラッシュピクセル位置

    図 411. シミュレーションシナリオ 2 - フラッシュピクセル位置


    シミュレーションシナリオ 3 - フレーム終了時の破棄されたフラッシュピクセル

    図 412. シミュレーションシナリオ 3 - フレーム終了時の破棄されたフラッシュピクセル


    シミュレーションシナリオ 4 - 複数のブロブ

    図 413. シミュレーションシナリオ 4 - 複数のブロブ


入力ポート

Blob Analysis の ImageI 入力は、バイナリの 1 次元画像(つまり、Bit Width が 1 bit で、指定された幅と無制限の高さを持つ画像)によって表されます。最大 32 ピクセルの Parallelism を選択できます。前景の値は ONE、背景の値は ZERO であると見なされます。これは、二値化処理の際に考慮する必要があります。

LineMarkerI 入力は画像データ入力と同期しているため、これらのリンクは同じ画像寸法と Parallelism を持つ必要があります。ただし、リンクの Bit Width は任意でかまいません。LineMarker の値は、各画像ライン全体で定数である必要があります。

入力リンク「FlushI」は、他の入力リンクとは非同期です。Bit Width、Parallelism、および画像寸法は任意でかまいません。並列コンポーネントのいずれかの入力ビットが設定されている場合、Blob Analysis 出力がフラッシュされます。

出力ポート

各出力ポートは、1 つのオブジェクトフィーチャ / オブジェクト Property を表します。これらのポートにおける各出力値は、1 つのオブジェクトを表します。したがって、オブジェクト Property はデータのストリームをもたらします。出力データストリームの長さは、画像内で検出されたオブジェクトの数に等しく、いくつかのサブフレームに中断することができます。各出力 port は、高さ 1 ピクセルと特定の長さを持ちます。これらはグレースケール 2D 画像として表されます。

出力 port は、オペレーターパラメータと入力の Property を使用して設定されます。リンク Property の直接変更はできません。

port ErrorFlagsO は、オーバーフローに関するいくつかのエラーフラグを出力します。各ビットは特別なフラグ用に予約されています。詳細な説明は以下のパラメータ説明に記載されています。概要は次の表のとおりです。

Bit # 説明 オブジェクト関連 注意事項
0, 1 ラベルオーバーフロー いいえ

Blob Analysis は、メモリに保存するには多すぎるオブジェクトを検出しました。2 つの画像ライン内のオブジェクトの最大数を増やすには、オペレーターパラメータ「LabelBits」を変更できます。

このフラグは、検出されてからデータ出力フレームの終わりまで設定されます。これまでに出力されたすべてのオブジェクト Property は有効です。

Blob Analysis 1D オペレーターの場合、このフラグは、次の有効なデータ出力とともに、1 クロックサイクルの間だけハイレベル状態になります。

フラグが設定された後、ブロブ解析の出力によって誤ったオブジェクト Property が生成される可能性があります。十分なオブジェクトラベルが利用可能な場合、オペレーターは正しい機能に戻ります。

2 出力の切り捨て はい

画像内のオブジェクト数が、オペレーターパラメータダイアログで設定された最大出力幅を超えています。このフラグは、出力幅に収まる最後のオブジェクトとともに設定されます。

3 オブジェクトサイズが最大を超えています はい

1D Blob Analysis のオブジェクトが最大高さを超えた場合に、このフラグが設定されます。オペレーターはこの超えたオブジェクトをより小さなオブジェクトに分割します。継続するオブジェクトには、分割の検出を可能にするためにフラグが付けられます。

2D Blob Analysisの場合、フラグは常にゼロに設定されます。

4 面積が切り捨てられます はい

オブジェクトの面積がエラーフラグとともに、面積ビットで許容されるサイズを超えています。

5 重心Xが切り捨てられます はい

X方向の重心が、ビットで許容されるサイズを超えています。

6 重心Yが切り捨てられます はい

Y方向の重心が、ビットで許容されるサイズを超えています。

7 輪郭長がオーバーフローしました はい

輪郭長が、オペレーターでパラメータ設定されたビットの許容範囲を超えています。

表 38:Blobのエラーフラグの説明


I/O Property

Property 値
オペレータータイプ M
入力リンク ImageI、画像データ入力
LineMarkerI、データ入力
FlushI、データ入力
Output Links LineMarkerO、データ出力
BoundingX0O、データ出力
BoundingX1O、データ出力
BoundingY0O、データ出力
BoundingY1O、データ出力
AreaO、データ出力
CenterXO、データ出力
CenterYO、データ出力
ContourOrthoO、データ出力
ContourDiaO、データ出力
ErrorFlagsO、データ出力

同期および非同期入力

  • 同期グループ:ImageI、LineMarkerI
  • FlushIはグループに対して非同期です。

サポートされているリンクフォーマット

Link Parameter 入力リンク ImageI 入力リンク LineMarkerI 入力リンク FlushI 出力リンク LineMarkerO 出力リンク BoundingX0O 出力リンク BoundingX1O 出力リンク BoundingY0O 出力リンク BoundingY1O 出力リンク AreaO 出力リンク CenterXO 出力リンク CenterYO Output Link ContourOrthoO Output Link ContourDiaO Output Link ErrorFlagsO
Bit Width 1 any any auto1 auto2 auto3 auto4 auto5 auto6 auto7 auto8 auto9 auto10 8
Arithmetic unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigned
Parallelism {1, 2, 4, 8, 16, 32} as ImageI any 1 1 1 1 1 1 1 1 1 1 1
Kernel Columns 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Kernel Rows 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Img Protocol VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D VALT_IMAGE1D
Color Format VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width any as ImageI any auto11 auto12 auto13 auto14 auto15 auto16 auto17 auto18 auto19 auto20 auto21
Max. Img Height any as ImageI any 1 1 1 1 1 1 1 1 1 1 1

1 2 3 4 5 6 7 8 9 10

出力 Bit Width は、オブジェクトフィーチャのパラメータ設定によって異なります。フィーチャが無効になっている場合、出力は常に値がゼロの 1 ビットに設定されます。

11 12 13 14 15 16 17 18 19 20 21

出力の最大画像幅は、パラメータ output_frame_size の設定によって異なります。

パラメーター

label_bits
タイプ static パラメータ
Default 7
範囲 [5, 31]

このパラメータは、オブジェクトの内部的なラベリングに使用されるビット数を設定します。また、2^label_bits によって決定される、2 つの画像行内で共存できるオブジェクトの最大数にも影響します。ブロブ解析に必要な Memory リソースは、ビットが 1 つ追加されるごとにほぼ倍増することに注意してください。このパラメータの適切な値の範囲は 7 ~ 9 ビットであり、ほぼすべてのアプリケーションで十分なはずです。

このアドレス空間のオーバーフローが検出された場合、オペレータはポート「ErrorFlagsO」のビット 0 および 1 にエラーフラグを出力します。これらのフラグは、オーバーフローの検出時に設定され、出力フレームの終了時にリセットされます。

neighborhood
タイプ static パラメータ
Default eight_connected
範囲 {four_connected, eight_connected}

Object Detectionに必要な近傍を選択します。ピクセル近傍の詳細な説明については、'Definition'を参照してください。

max_object_height_bits
タイプ static パラメータ
Default 10
範囲 [3, 31]

このパラメータは、オブジェクトの最大高さを指定するために必要です。たとえば、高さを 10 ビットに設定した場合、1024 画像行を超えるオブジェクトは許可されません。

オブジェクトがこの制限を超えた場合、2 つ以上の分離されたオブジェクトに分割されます。これが発生した場合、ErrorFlagsO ポートのビット番号 3 のエラーフラグが、再開されたオブジェクトとともに設定されます。

max_output_frame_size
タイプ static パラメータ
Default 65536
範囲 [1, 67108864]

最大出力フレームサイズ、つまり 1 つの出力フレーム内のオブジェクトの最大数を選択します。

output_frame_size_overflow_handling
タイプ static パラメータ
Default generate_new_frame
範囲 {generate_new_frame, discard_exceeding_objects}

最大出力フレームサイズはパラメータ「max_output_frame_size」で指定します。オブジェクトの数がこのサイズを超える場合、オペレータは新しいフレームを生成するか、制限を超えたオブジェクトを破棄することができます。新しいフレームを生成するとフレームが終了、つまりフレームが完了します。オブジェクトが破棄される場合、オペレータはフレームの最後の有効なオブジェクトとともに、ErrorFlagsO ポートのビット番号 2 にエラーフラグを出力します。

フラッシュ入力によっても新しいフレームが生成されることに注意してください。

suppress_empty_output_frames
タイプ static パラメータ
Default はい
範囲 {yes, no}

このパラメータは、フラッシュ条件やオブジェクトデータがないことに起因する空の出力フレームを抑制するために使用されます。

詳細なタイミング図については、'Generation of Output Frames - Flush, Empty Frames, Discarding Data'を参照してください。

line_marker
タイプ static パラメータ
Default used
範囲 {used, not_used}

各オブジェクトの "line_marker" は "LineMarkerO"に出力されます。Bit Width は入力の LineMarkerI 入力リンクによって決定されます。ラインマーカーを使用しない場合、Bit Width は出力で定数ゼロの1に設定されます。

bounding_box_x0
タイプ static パラメータ
Default used
範囲 {used, not_used}

バウンディングボックスは、オブジェクトに適合する最小の軸平行矩形を表します。各座標値は画像の左上隅からの相対値です。Bounding box X0 は、各オブジェクトの最も低い x 座標を表します。これは "BoundingX0O" から出力されます。Bit Width は入力画像によって決定されます。バウンディングボックスを使用しない場合、Bit Width は出力で定数ゼロの1ビットに設定されます。

bounding_box_x1
タイプ static パラメータ
Default used
範囲 {used, not_used}

バウンディングボックスは、オブジェクトに適合する最小の軸平行矩形を表します。各座標値は画像の左上隅からの相対値です。Bounding box X1 は、各オブジェクトの最も高い x 座標を表します。これは "BoundingX1O" から出力されます。Bit Width は入力画像から決定されます。バウンディングボックスを使用しない場合、Bit Width は出力で定数ゼロの1ビットに設定されます。

bounding_box_y0
タイプ static パラメータ
Default used
範囲 {used, not_used}

Bounding box y0 は、各オブジェクトの最も低い y 座標を表します。この座標は、オペレータの内部 Counter に基づいています。処理された最初の画像行からカウントを開始します。その最大値は、パラメータ max_object_height_bits で設定された最大高さと等しくなります。オーバーフロー後、Counter は再びゼロからカウントを開始します。

この機能は、ラインマーカーの代わりに使用できます。ただし、ラインマーカーの方がより多くの機能を提供し、複雑な設定が可能です。

この機能は "BoundingY0O" から出力されます。Bit Width は入力画像によって決定されます。バウンディングボックスを使用しない場合、Bit Width は出力で定数ゼロの1に設定されます。

bounding_box_y1
タイプ static パラメータ
Default used
範囲 {used, not_used}

(2Dオペレータとは対照的な)1Dオペレータの場合、Bounding box y1 はオブジェクトの高さを表します。これは "BoundingY1O" から出力されます。Bit Width は入力画像によって決定されます。バウンディングボックスを使用しない場合、Bit Width は出力で定数ゼロの1に設定されます。

area_mode
タイプ static パラメータ
Default use_area_with_maximum_required_bits
範囲 {area_not_used, use_area_with_maximum_required_bits, use_area_with_specified_bits}

オブジェクトの面積は、すべてのオブジェクトの前景ピクセルの合計によって定義されます。このパラメータは、必要な面積モードを選択するために使用されます。「use_area_with_maximum_required_bits」が選択されている場合、オペレータはオブジェクトの最大可能なサイズに必要なビット数を自動的に決定します。オブジェクトの最大可能なサイズは、入力リンク I の最大幅と高さによって異なります。オブジェクトの理論上の最大値は、画像のすべてのピクセルが前景色で構成されている場合、つまり、1つの大きなオブジェクトである白い入力画像の場合に達成されます。

オブジェクトの面積が指定された値より大きくならないことが確実である場合は、これをパラメータ化できます。最大オブジェクトサイズが既知の場合は、「use_area_with_specified_bits」を選択します。パラメータ「area_bits」を使用してビット数を指定します。面積がまったく必要ない場合は、「area_not_used」を選択します。「area_not_used」モードでは、Bit Width は出力で定数ゼロの1に設定されます。

area_bits
タイプ static パラメータ
Default not_used
範囲 {not_used, used}

このパラメータは、パラメータ "area_mode" が "use_area_with_specified_bits" に設定されている場合にのみ有効になります。オブジェクトの面積が、選択したビットで許容されるサイズよりも大きい場合、ブロブ解析は出力リンク "ErrorFlagsO" のビット番号 4 でオーバーフローフラグを出力します。

center_of_gravity_x_mode
タイプ static パラメータ
Default use_cX_with_maximum_required_bits
範囲 {cX_not_used, use_cX_with_maximum_required_bits, use_cX_with_specified_bits}

重心の説明については、'Center of Gravity'を参照してください。

正しい結果を得るには、ブロブ解析後に出力結果を面積で割る必要があることに注意してください。

パラメータが「use_cX_width_maximum_required_bits」に設定されている場合、オペレータは自動的に出力ビット数を決定します。大きな入力画像を使用する場合、必要なビット数が非常に多くなることがあります。

パラメータ値に「use_cX_with_specified_bits」を使用している場合、ビット数を調整可能です。

x方向の重心が不要な場合は、「cX_not_used」を選択して無効にすることができます。

center_of_gravity_x_bits
タイプ static パラメータ
Default 29
範囲 [2, auto]

「center_of_gravity_x_mode」に「use_cX_with_specified_bits」が設定されている場合、ここでビットを変更できます。それ以外の場合、このパラメータは無効になります。

center_of_gravity_x_overflow_flag
タイプ static パラメータ
Default not_used
範囲 {not_used, used}

x方向の重心のビット数を手動で設定した場合、このパラメータが有効になり、「used」に設定できます。オーバーフローが検出された場合、オペレータは出力リンク「ErrorFlagsO」のビット番号5に「1」を出力します。

center_of_gravity_y_mode
タイプ static パラメータ
Default use_cY_with_maximum_required_bits
範囲 {cY_not_used, use_cY_with_maximum_required_bits, use_cY_with_specified_bits}

重心の説明については、'Center of Gravity'を参照してください。

正しい結果を得るには、ブロブ解析後に出力結果を面積で割る必要があることに注意してください。

パラメータが「use_cY_width_maximum_required_bits」に設定されている場合、オペレータは自動的に出力ビット数を決定します。大きな入力画像を使用する場合、必要なビット数が非常に多くなることがあります。

パラメータ値に「use_cY_with_specified_bits」を使用している場合、ビット数を調整可能です。

y方向の重心が不要な場合は、「cY_not_used」を選択して無効にすることができます。

center_of_gravity_y_bits
タイプ static パラメータ
Default 29
範囲 [2, auto]

「center_of_gravity_y_mode」に「use_cY_with_specified_bits」が設定されている場合、ここでビットを変更できます。それ以外の場合、このパラメータは無効になります。

center_of_gravity_y_overflow_flag
タイプ static パラメータ
Default not_used
範囲 {not_used, used}

y方向の重心のビット数を手動で設定した場合、このパラメータが有効になり、「used」に設定できます。オーバーフローが検出された場合、オペレータは出力リンク「ErrorFlagsO」のビット番号6に「1」を出力します。

contour_length_mode
タイプ static パラメータ
Default contour_length_not_used
範囲 {contour_length_not_used, contour_length_used}

オブジェクトの輪郭長には、穴の部分も含め、すべてのエッジが含まれます。詳細な説明については、「Contour Length」を参照してください。

この機能を選択した場合、選択した近傍に応じて、必要なビットをパラメータ "contour_length_bits_orthogonal_connected" および "contour_length_bits_diagonal_connected" で選択できます。4連結近傍が選択されている場合、輪郭長は直交方向のみで決定できます。8連結近傍が選択されている場合、輪郭長は直交方向および対角方向で決定されます。

contour_length_bits_orthogonal_connected
タイプ static パラメータ
Default 16
範囲 [1, 31]

"contour_length_mode" が "contour_length_used" に設定されている場合、直交接続されたピクセルの輪郭長を表すために必要なビットをここで選択できます。

contour_length_bits_diagonal_connected
タイプ static パラメータ
Default 16
範囲 [1, 31]

"contour_length_mode" が "contour_length_used" に設定されている場合、対角接続されたピクセルの輪郭長を表すために必要なビットをここで選択できます。これは、8連結近傍が選択されている場合にのみ可能です。それ以外の場合、このパラメータは無効になります。

contour_length_overflow_flag
タイプ static パラメータ
Default not_used
範囲 {not_used, used}

輪郭長によりオーバーフローが発生する可能性があります。このフラグを使用すると、オーバーフローが発生した場合にポート "ErrorFlagsO" のビット番号 7 にエラーフラグが設定されます。

使用例

Blob_Analysis_1D オペレータの使用方法については、以下の例をご覧ください。

  • 'Blob_Analysis_1D (Legacy)'

    Examples - ラインスキャンアプリケーションにおけるオペレーター Blob_Analysis_1D の使用方法を示します。