Operator HitOrMiss

Operator Library: Filter

算子 HitOrMiss 會對二元影像執行形態學命中不命中 (hit-or-miss) 運算,可用於識別結構或物件。 輸入是一個 kernel-stream (請參閱例如 FIRkernelNxM)。 輸出 link 會給出計算出的中心像素值。 命中不命中運算的結構元素由可參數化的矩陣給定。 該矩陣的大小與輸入 kernel 相同。

如果像素的 kernel 鄰域與參數 StructElement 中定義的圖案完全相符,則像素的輸出會設為 '1'。 若有一或多個不相符,輸出則會設為 '0'。 使用參數 StructElement 定義的搜尋圖案可以設為 0 或 1 來定義相符。 此外,也允許使用值 -1。它為結構元素中忽略的部分定義了不關心 (don't care) 的值。 如果搜尋圖案中的所有值都是 '-1',其行為取決於 StructElement 的靜態/動態 Property。 在靜態情況下,結果一律會是 'miss'。在動態情況下,結果一律會是 'hit'。

讓我們來看一個範例。給定以下 struct element。

我們將其與以下影像 I 進行匹配

如果我們將結構元素與影像進行匹配,輸出 O 為

若要產生所需的輸入 kernel,請使用諸如 FIRkernelNxM、 LineNeighboursNx1 或 PixelNeighbours1xM 的 operator。

I/O Properties

Property Value
Operator Type O
Input Link I,核心輸入
Output Link O, data output

支援的 Link 格式

Link Parameter Input Link I Output Link O
Bit Width 1 as I
Arithmetic unsigned as I
Parallelism any as I
Kernel Columns any 1
Kernel Rows any 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width any as I
Max. Img Height any as I

參數

StructElement
Type static/dynamic read/write parameter
Default -1
Range {-1, 0, 1}

此參數定義結構元素的形狀。

  • struct element 中的 '0' 必須與對應 kernel 輸入中的 '0' 相符。

  • struct element 中的 '1' 必須與對應 kernel 輸入中的 '1' 相符。

  • 結構元素中的「-1」將該位置標示為不關心,並會被忽略。

如果 operator 的輸入 kernel 大小改變,係數也會隨之改變。 變更輸入 kernel 大小後請檢查係數。

如果參數設為 Static,則會在設計階段選取這些值。 如果參數設為 Dynamic,則可以在執行階段更改這些值。 執行階段的更改會立即生效,不會與影格結尾 (end of frame) 或行結尾 (end of line) 進行同步。

使用範例

以下範例顯示了算子 HitOrMiss 的使用方式:

  • 「Hit or Miss」

    範例 - 此實作可以在二元影像中偵測四種簡單的圖樣。 只要找到符合的圖樣,輸出就會設為 1。