Image Combiner vTool#
影像合成是一個前處理步驟,用於透過加法、減法、乘法和除法等基本 Arithmetic 運算來結合兩張影像的資訊。
Image Combiner vTool 透過 Image1 和 Image2 輸入接腳接收兩張影像,並透過 Image 輸出接腳輸出合成後的影像。兩張輸入影像必須具有相同的 Pixel Format。
Image Combiner vTool 適用於 Preprocessing Basic 授權。若要購買授權,請造訪 Basler 網站。

Image Combiner vTool 版本#
Image Combiner vTool 提供兩種版本:Starter 與 Basic。這兩個版本的功能完全相同。
運作原理#
您可以結合來自相同輸入來源(例如一個 Camera vTool)或兩個輸入來源(例如兩個 Camera vTools)的影像。如果您有兩個輸入來源,則必須使用 Data Synchronizer vTool 將這些輸入同步。否則,可能會因為輸入未同步而零星發生錯誤,進而無法正確結合。
組合器操作#
Image Combiner vTool 提供下列合成運算。
- Addition: 逐像素相加灰階值。
g1 + g2 = gout - Subtraction: 從影像 1 的灰階值中逐像素減去影像 2 的灰階值。
g1 - g2 = gout - Multiplication: 逐像素相乘灰階值。
g1 * g2 = gout - Division: 用影像 1 的灰階值逐像素除以影像 2 的灰階值。
g1 / g2 = gout - Absolute Difference: 執行如上所述的減法並決定絕對值。此運算可用於計算兩張影像之間的差值。
Abs(g1 - g2) - Minimum: 逐像素比較影像 1 與影像 2 的灰階值,並將兩者中較低的值指定給輸出影像中的對應像素。
Min(g1,g2) - Maximum: 逐像素比較影像 1 與影像 2 的灰階值,並將兩者中較高的值指定給輸出影像中的對應像素。
Max(g1,g2)
資訊
對於所有 combiner 操作,這兩張影像的大小與 Pixel Format 必須完全相同。
Arithmetic 操作#
加法、減法、乘法和除法屬於二元運算。這些運算會改變結果影像的灰階值範圍。因此,可能會發生灰階值不足或溢位的情況。如果發生這種情況,超出範圍的灰階值會自動設為輸入影像格式的最高或最低灰階值。
Example: 在 8-bit 影像中,負的輸出灰階值會設為零,而大於 255 的輸出灰階值則會設為 255。
為了避免這種情況,Image Combiner 提供次要算術運算(乘法和加法),您可用來改善主要運算的中間結果。以下公式說明了這點:
gout = operation (g1, g2) * multiplication factor + addition value
這些額外的乘法或加法步驟常用於無符號影像格式(例如 8-bit 影像),以保留輸入影像的灰階值範圍。
Example: 為了避免透過加法結合兩張 8-bit 輸入影像後發生灰階值溢位,請指定 0.5 的乘法因數和 0.0 的加法值。影像減法之後,0.5 的乘法因數和 128 的加法值可產生良好的結果。
常見使用案例#
Object Detection#
進行 Object Detection 的簡單方法是拍攝未包含任何物件的目標場景參考影像。這就是參考影像或背景影像。若要偵測物件,您可以從檢查影像中減去參考影像,以查看像素區域的灰階值在哪些地方有所不同。
之後,您可以在產生的差異影像上套用閾值化,以分割灰階值偏差顯著的區域。典型的工作流程是從 Image Smoothing vTool 或 Image Morphology vTool 開始,接著使用 Image Combiner 和閾值化 vTool。
相較於可達到類似結果的 Relative Thresholding vTool,使用這種 vTool 組合能讓您在濾鏡類型和遮罩形狀上有更多選擇。例如,Image Morphology vTool 提供矩形和圓形遮罩以及中值和等級濾鏡,而 Relative Thresholding vTool 僅包含矩形遮罩和平均濾鏡。
兩張檢測影像的比較#
您可以判斷在不同時間、相同條件下(例如相同的相機、照明、相機視角和物件)所拍攝的兩張影像之間是否存在任何差異。若要這麼做,請使用 Subtraction 或 Absolute Difference 操作。
虛擬影像的生成#
基於開發或測試目的,可能會需要某些類型的組合影像。例如,您可以 add 特定的噪點圖案或背景,或者用遮罩影像 multiply 影像。
非均勻照明補償#
非均勻照明或邊暈(vignetting)效應可能會導致影像的不同部分具有不同的亮度值。例如,如果您隨後想要使用針對整張影像使用單一全域閾值的閾值化步驟,這就會造成問題。
為了解決這個問題,您可以使用大型遮罩的平均或中值濾鏡來擷取影像潛在的亮度分佈。一旦有了這張亮度分佈影像(最好在離線校準步驟期間完成),您就可以將其從送入的檢查影像中減去,或者用送入的檢查影像除以它。
設定 vTool#
若要設定 Image Combiner vTool:

- 在 vTool Settings 區域的 Recipe Management 窗格中,按一下 Open Settings 或按兩下 vTool。
隨即會開啟 Image Combiner Starter/Basic 對話方塊。 - 在 Combiner Operations 區域中,選取所需的操作。
- 如果可用,請為次要算術運算指定所需的 Multiplication 和 Addition 值。
您可以在 pin data view 中檢視影像組合的結果。
Inputs#
Image1#
直接接收來自 Camera vTool 或輸出影像之 vTool(例如 Image Format Converter vTool)的影像。
- 資料類型:Image
- Image format: 8-bit 至 16-bit 單色或彩色影像(請參閱Supported Pixel Formats)。Image1 和 Image2 的 Pixel Format 必須相同。
Image2#
直接接收來自 Camera vTool 或輸出影像之 vTool(例如 Image Format Converter vTool)的影像。
- 資料類型:Image
- Image format: 8-bit 至 16-bit 單色或彩色影像(請參閱Supported Pixel Formats)。Image1 和 Image2 的 Pixel Format 必須相同。
Outputs#
Image#
傳回組合後的影像。輸出影像可供任何接受影像作為輸入的 vTool 使用。
- 資料類型:Image
- 影像格式:彩色或單色影像(請參閱支援的 Pixel Format)
支援的 Pixel Format#
根據輸入影像的像素格式,Image Combiner vTool 會輸出以下像素格式:
| Input Pixel Format | Output 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 |