Image Combiner vTool#
画像結合とは、加算、減算、乗算、除算などの基本的な算術演算を使用して、2つの画像の情報を結合する前処理手順です。
Image Combiner vToolは、Image1およびImage2入力ピンを介して2つの画像を受け入れ、結合された画像を、Image出力ピンを介して出力します。両方の入力画像は同じピクセルフォーマットになる必要があります。
Image Combiner vToolバージョン#
Image Combiner vToolでは、StarterとBasicの2つのバージョンが使用できます。どちらのバージョンも機能は同じです。
仕組み#
You can combine images from the same input source, e.g., one Camera vTool, or from two input sources, e.g., two Camera vTools. If you have two input sources, you have to synchronize these inputs using the Data Synchronizer vTool. Otherwise, errors may occur sporadically because the inputs aren't in synch and therefore can't be combined properly.
結合操作#
Image Combiner vToolでは、次の結合操作を実行できます。
- 加算:ピクセル単位でグレー値を加算します。
g1 + g2 = gout - 減算:ピクセル単位で画像1のグレー値から画像2のグレー値を減算します。
g1 - g2 = gout - 乗算:ピクセル単位でグレー値を乗算します。
g1 * g2 = gout - 除算:ピクセル単位で画像1のグレー値を画像2のグレー値で除算します。
g1 / g2 = gout - 絶対差:前述のように減算し、絶対値を求めます。この演算を使用して、2つの画像の差を計算できます。
Abs(g1 - g2) - 最小:画像1と画像2のグレー値をピクセル単位で比較し、2つの値のうち小さい方の値を出力画像内の対応するピクセルに割り当てます。
Min(g1,g2) - 最大:画像1と画像2のグレー値をピクセル単位で比較し、2つの値のうち大きい方の値を出力画像内の対応するピクセルに割り当てます。
Max(g1,g2)
情報
すべての結合操作で、両方の画像のサイズとピクセルフォーマットが同一になる必要があります。
算術演算#
加算、減算、乗算、除算は、二項演算です。これらの演算は、生成された画像のグレー値範囲を変化させます。これにより、グレー値のアンダーフローまたはオーバーフローが発生する可能性があります。このような場合、範囲外のグレー値は、入力画像形式の最高または最低のグレー値に自動的に設定されます。
例:8ビット画像では、負の出力グレー値は0に設定され、255を超える出力グレー値は255に設定されます。
これを回避するために、Image Combinerには、主演算の中間結果を向上させる二次算術演算(乗算と加算)があります。これは、次の式で示されます。
gout = 演算(g1, g2) * 乗数 + 加算値
これらの追加の乗算または加算手順は、8ビット画像などの符号なし画像形式で、入力画像のグレー値範囲を保持するために多く使用されます。
例:2つの8ビット入力画像を加算して結合した後、グレー値のオーバーフローを回避するには、乗数0.5と加算値0.0を指定します。画像の減算後、乗算係数0.5と加算値128を使用すると、良好な結果が得られます。
一般的な使用例#
オブジェクトの検出#
簡単にオブジェクトを検出する方法は、オブジェクトが存在しないターゲットシーンの参照画像を取得することです。これは参照画像または背景画像です。オブジェクトを検出するには、検査画像から参照画像を減算して、ピクセルの領域がグレー値に関して異なる部分を確認します。
その後、生成された差分画像にしきい値設定を適用して、グレー値の偏差が大きい領域をセグメント化できます。典型的なワークフローでは、まずImage Smoothing vToolまたはImage Morphology vToolを使用し、続いてImage CombinerとThresholding vToolを使用します。
同様の結果が得られるRelative Thresholding vToolと比較して、vToolのこの組み合わせを使用すると、フィルタータイプやマスク形状の選択肢が広がります。例えば、Image Morphology vToolには、矩形マスクと円形マスクに加え、中央値フィルタリングとランクフィルタリングもありますが、Relative Thresholding vToolは矩形マスクと平均フィルタリングのみを備えています。
2つの検査画像の比較#
同じ条件(カメラ、照明、カメラの視点、オブジェクトなどが同一)で異なる時間に撮影された2つの画像に差異があるかどうかを判断できます。これを実行するには、減算演算または絶対差演算を使用します。
仮想画像の生成#
開発またはテスト目的の場合、特定の種類の結合画像が必要になる場合があります。例えば、特定のノイズパターンや背景の追加や、画像とマスク画像の乗算が可能です。
不均一な照明の補正#
不均一な照明や口径食効果により、画像の異なる部分で明るさ値が異なる場合があります。これにより、例えば、画像全体に対して単一のグローバルしきい値を使用するしきい値設定手順を、後で使用する場合に問題が発生します。
この問題を解決するために、大きなマスクを使用した平均フィルタリングまたは中央値フィルタリングを使用して、画像の基本的な明るさの分布を取得できます。この明るさ分布画像を取得したら(オフラインキャリブレーション手順中に実行することを推奨)、その画像を受信検査画像から減算したり、その画像で受信検査画像を除算したりできます。
vToolの設定#
Image Combiner vToolを設定するには:
- [vToolの設定]エリアの[レシピ管理]ペインで、[設定を開く]をクリックするか、[vTool]をダブルクリックします。
[Image CombinerStarter/Basic]ダイアログが開きます。 - [結合操作]エリアで、目的の操作を選択します。
- 利用可能な場合は、二次算術演算に必要な乗算値と加算値を指定します。
画像結合の結果はピンデータビューで確認できます。
入力#
Image1#
Camera vToolから、またはImage Format ConvertervToolなどの画像を出力するvToolから、直接画像を受け入れます。
- データ型:Image
- 画像形式:8ビットから16ビットのモノラルまたはカラー画像(「サポートされるピクセルフォーマット」を参照)。Image1とImage2のピクセルフォーマットは同じになる必要があります。
Image2#
Camera vToolから、またはImage Format ConvertervToolなどの画像を出力するvToolから、直接画像を受け入れます。
- データ型:Image
- 画像形式:8ビットから16ビットのモノラルまたはカラー画像(「サポートされるピクセルフォーマット」を参照)。Image1とImage2のピクセルフォーマットは同じになる必要があります。
出力#
画像#
結合画像を返します。画像を入力として受け入れる任意のvToolで使用できます。
- データ型:Image
- 画像形式:カラーまたはモノクロ画像(「サポートされるピクセルフォーマット」を参照)
サポートされているPixel Format#
入力画像のピクセルフォーマットに応じて、Image Combiner vToolは、次のピクセルフォーマットを出力します。
入力ピクセルフォーマット | 出力Pixel Format |
---|---|
Bayer GR 8 | RGB 8 Planar |
Bayer GR 16 | RGB 16 Planar |
Bayer RG 8 | RGB 8 Planar |
BGRA 8 Packed | RGB 8 Planar |
BGR 8 Packed | RGB 8 Planar |
Mono 8 | Mono 8 |
Mono 10 | Mono 10 |
Mono 12 | Mono 12 |
Mono 16 | Mono 16 |
RGB 8 Packed | RGB 8 Planar |
RGB 16 Packed | RGB 16 Planar |
RGB 8 Planar | RGB 8 Planar |
RGB 16 Planar | RGB 16 Planar |