Operator Library: Filter
オペレーター FIRkernelNxM は、各ピクセルの周囲に、隣接ピクセルを含む長方形のカーネルウィンドウを作成します。カーネルのサイズは、出力リンクを編集することで定義できます。N はカーネルの行数を表し、M はカーネルの列数を表します。
![]() |
FIRフィルターなし |
|---|---|
|
その名前とは裏腹に、このオペレーターはFIRフィルターとは何の関係もありません。フィルターの入力データを生成するために使用できます。 |
カーネルを生成するその他のオペレーターには、LineNeighboursNx1 および PixelNeighbours1xM があります。
カーネルの中心要素は常に、それぞれの位置の元の入力ピクセルを表します。ピクセルインデックス x および y、ならびにカーネルインデックス m および n を持つ出力画像 O は、入力から次のように導出されます。
を
および
画像の端では、隣接するピクセルが定義されません。このオペレーターでは、パラメーター EdgeHandling を使用して、必要なエッジ処理アルゴリズムを定義できます。
偶数サイズのカーネルには中心ピクセルがありません。この場合、中心ピクセルは左上の隅に移動します。たとえば、サイズ 4x4 のカーネルの場合、次の表に示すように、(1,1) に中心ピクセルが定義されます。
| 0,0 | 0,1 | 0,2 | 0,3 |
| 1,0 | 1,1 | 1,2 | 1,3 |
| 2,0 | 2,1 | 2,2 | 2,3 |
| 3,0 | 3,1 | 3,2 | 3,3 |
カーネルは行数と列数によって記述されます。VisualApplets では、N が行数を表し、M が列数を表します。多くの場合、カーネル要素は座標ではなくインデックスによって指定されます。この場合、次の表に示すように、順序は行ごとになります。
| 0 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 |
次の例は、3 行のカーネル行と 3 列のカーネル列に対する結果の構成を示しています。図示されたオペレーター内の 3x3 マトリックスは、それぞれのカーネルの内容を定義する相対アドレス指定を提供します。出力上の各 3x3 クラスターは、ピクセルごとの異なるカーネル値を示しています。
ピクセルごとのカーネル構成の代わりに、この例では結果のサブカーネル(インデックス 0 の最初のカーネルとインデックス 8 の最後のカーネル)を示しています。
次の例は、2 行のカーネル行と 2 列のカーネル列に対する結果の構成を示しています。相対アドレスは右側または下側の近傍のみを参照するため、左側や上側のコンテンツに対してエッジ処理を実行する必要はありません。
奇数および偶数のカーネルサイズを持つ最後の 2 つの例を比較すると、edgeMirroring モードにおける edgeHandling 機能の注目すべき挙動がわかります。奇数および偶数のカーネルサイズに対する edgeMirroring は、上部および左側の境界では同一に扱われますが、下部および右側ではわずかに異なる結果を生成します。出力画像サイズが大きいため、結果のカーネルごとの値を持つ、最初(右上)および最後(右下)の入力ピクセルの結果の構成のみを以下に示します。
奇数カーネルサイズの EdgeMirroring は、データが欠落している領域を、データを持つ等距離の領域から埋めます。境界は保持され、複製されません。同じ原則が、偶数カーネルサイズの場合の上側または左側を埋める領域にも当てはまります。これとは対照的に、下側または右側を埋める領域では、ミラーリング中に境界が複製されます。繰り返しになりますが、これは偶数カーネルサイズの時にのみ発生します。
![]() |
偶数カーネルサイズの EdgeMirroring |
|---|---|
|
偶数カーネルサイズの場合、下側または右側の領域を埋めると、ミラーリング中に境界が複製されます。 |
技術的には、このオペレーターは、並列に出力できるようになるまで、カーネルに必要なピクセルを待機およびバッファリングします。したがって、入力ですべての必要なそれぞれの隣接ピクセルが処理された後にのみピクセルを出力できるため、このオペレーターは遅延を引き起こします。ライン遅延は次のとおりです。
Operator Restrictions
-
ImageWidth < 2*Parallelism is not allowed.
-
空の画像、つまりピクセルのない画像は許可されません。
-
空の行や異なる行の長さは許可されません。
| EdgeHandling | |
|---|---|
| タイプ | static パラメータ |
| Default | EdgeMirrored |
| 範囲 | {EdgeMirrored, EdgeConstant} |
|
画像の端では、カーネルを生成するための近傍が存在しません。この場合、オペレーターは 2 つのエッジ処理モードで使用できます。 モード EdgeMirrored では、画像の端でミラーリングされたピクセルが使用されます。 モード EdgeConstant では、エッジ部分の不足しているカーネル要素が定数値で埋められます。この値はパラメータ Constant を使用して定義できます。 |
|
| Constant | |
|---|---|
| タイプ | static パラメータ |
| Default | 0 |
| 範囲 | 入力リンク I の範囲 |
|
パラメータ EdgeHandling が EdgeConstant に設定されている場合、このパラメータは画像境界の外側のピクセルのデフォルト値を定義します。 カラーフォーマットの場合、この値はすべてのカラーコンポーネントのバイナリ表現を組み合わせた符号なし整数になります。 |
|
オペレーター FIRkernelNxM の使用方法は、以下の例に示されています:
-
Synchronization - デッドロックの回避。
-
ローカルのアダプティブしきい値処理の二値化の例。 8×8ピクセルのカーネルサイズを使用します。
-
'Nearest Neighbor Demosaicing'
Examples - Nearest Neighbor Bayer Demosaicing
-
Examples - この例は、3x3 フィルターを使用した Bayer RAW パターンのデモザイキングを示しています。
-
例 - この例は、5x5フィルターを使用したBayer RAWパターンのデモザイキングを示しています。
-
'Bayer 3x3 Demosacing with White Balancing'
例 - この例では、3x3 フィルターを使用した Bayer RAW パターンのデモザイク処理を示しています。 さらに、色補正のためのホワイトバランス調整が追加されています。
-
'Bayer 5x5 Demosacing with White Balancing'
例 - この例は、5x5フィルターを使用したBayer RAWパターンのデモザイキングを示しています。 さらに、カラー補正のためのホワイトバランスが追加されています。
-
「Edge Sensitive Bayer Demosaicing Algorithm」
例 - Edge Sensitive Laplace Bayer Demosaicing フィルター
-
「Bayer Demosaicing Algorithm According to Laroche」
例 - Laroche Bayer Demosaicing フィルター
-
「Modified Laroche Bayer Demosaicing Algorithm 」
例 - リソース最適化された Laroche Bayer Demosaicing フィルター
-
例 - この例は、カラーパターンが Red/BlueFollowedByGreen_GreenFollowedByBlue/Red であるバイライナーラインスキャンカメラの Bayer RAWパターンのデモザイキングを示しています。
-
例 - この例は、カラーパターンが Red/BlueFollowedByBlue/Red_GreenFollowedByGreen であるバイライナーラインスキャンカメラの Bayer RAWパターンのデモザイキングを示しています。
-
'Bayer Demosaicing a Line Scan Camera with 8 Bit BiColor Bayer Pattern'
例 - この例は、例えば racer 2 L カメラなどの、BiColorRGBG、BiColorGRGB、BiColorBGRG、BiColorGBGR の BiColor Bayer パターンを持つ CXP-12 ラインスキャンカメラの 8 ビット Bayer RAW パターンのデモザイキングを示しています。さらに、この例にはラインスキャントリガーモジュールとホワイトバランスモジュールが含まれています。
-
'Bayer Demosaicing a Line Scan Camera with 10 Bit BiColor Bayer Pattern'
例 - この例は、例えば racer 2 L カメラなどの、BiColorRGBG、BiColorGRGB、BiColorBGRG、BiColorGBGR の BiColor Bayer パターンを持つ CXP-12 ラインスキャンカメラの 10 ビット Bayer RAW パターンのデモザイキングを示しています。さらに、この例にはラインスキャントリガーモジュールとホワイトバランスモジュールが含まれています。
-
'Bayer Demosaicing a Line Scan Camera with 12 Bit BiColor Bayer Pattern'
例 - この例は、例えば racer 2 L カメラなどの、BiColorRGBG、BiColorGRGB、BiColorBGRG、BiColorGBGR の BiColor Bayer パターンを持つ CXP-12 ラインスキャンカメラの 10 ビット Bayer RAW パターンのデモザイキングを示しています。さらに、この例にはラインスキャントリガーモジュールとホワイトバランスモジュールが含まれています。
-
例 - imaFlex プラットフォームのコプロセッサー機能を示しています。 例として、Median Filter が計算されます。
-
'Co-Processor Large Filter Calculation'
例 - imaFlex プラットフォームのコプロセッサー機能を示しています。 例として、大きなフィルターカーネルが計算されます。
-
Examples - 二値化収縮画像と元画像が比較されます。両者に違いがある場合、エッジが検出されます。
-
例 - Kirsch フィルターは、無方向エッジに対して優れたエッジ検出フィルターです。
-
例 - X方向のみの Sobel フィルター。
-
例 - 全4方向の Sobel フィルター。
-
Examples - Shows the implementation of a morphological close applied to binary images.
-
Examples - Shows the implementation of a morphological open applied to binary images.
-
例 - シンプルな 3x3 ボックスフィルター。
-
例 - 5x5 カーネルを使用する Gauss フィルター。
-
Examples - アプレットにより、画像に 5x5 Median Filter が適用されます。
-
例 - フィルターの実装について説明します。
-
例 - 2つのフィルターを並列で使用する例。
-
例 - 元の画像データを得るために、フィルターからサブカーネルを抽出する方法を示しています。 この例では、簡単なローカルのアダプティブ二値化を実行します。
-
Examples - ラインスキャンカメラ用フィルターの実装方法について説明します。
-
「High Boost Sharpening Filter」
例 - シャープネス処理用のハイブースト Laplace フィルター
-
使用例 - 3x3 ラプラスフィルター。
-
使用例 - 高輝度スポットの係数を用いた畳み込み処理を行います。 閾値を超えた結果については、該当するピクセルが赤色で塗りつぶされます。
-
例 - ループを使用した Depth From Focus
-
'Normalized Cross Correlation'
使用例 -
-
使用例 - デッドピクセルの自動検出と置換を示す使用例です。

![[注]](../common/images/admon/note.png)
![[ヒント]](../common/images/admon/tip.png)




前へ

