Image Combiner vTool#
이미지 합성은 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 기본적인 산술 연산을 사용하여 두 이미지의 정보를 결합하는 전처리 단계입니다.
Image Combiner vTool은 Image1 및 Image2 입력 핀을 통해 두 개의 이미지를 입력받으며, Image 출력 핀을 통해 합성된 이미지를 출력합니다. 두 입력 이미지는 모두 동일한 픽셀 형식을 가져야 합니다.
Image Combiner vTool은 Preprocessing Basic 라이선스를 통해 이용 가능합니다. 라이선스를 구매하려면 Basler 웹사이트를 방문하십시오.

Image Combiner vTool 버전#
Image Combiner vTool에는 ‘Starter’와 ‘Basic’ 두 가지 버전이 있습니다. 두 버전의 기능은 동일합니다.
작동 방식#
동일한 입력 소스(예: 하나의 카메라 vTool)에서 가져온 이미지를 합치거나, 두 개의 입력 소스(예: 두 개의 카메라 vTool)에서 가져온 이미지를 합칠 수 있습니다. 입력 소스가 두 개인 경우, ‘Data Synchronizer ’ vTool을 사용하여 이러한 입력을 동기화해야 합니다. 그렇지 않으면 입력 간에 동기화가 맞지 않아 제대로 합쳐지지 않기 때문에 간헐적으로 오류가 발생할 수 있습니다.
결합기 작동#
Image Combiner vTool은 다음과 같은 결합자 연산 기능을 제공합니다.
- 더하기: 픽셀 단위로 회색조 값을 더합니다.
g1 +g2 =gout - 뺄셈: 이미지 1의 회색값에서 이미지 2의 회색값을 픽셀 단위로 뺍니다.
g1 -g2 =gout - 곱셈: 픽셀 단위로 회색값을 곱합니다.
g1 *g2 =gout - 나눗셈: 이미지 1의 각 픽셀별 회색값을 이미지 2의 회색값으로 나눕니다.
g1 /g2 =gout - 절대 차이: 위에서 설명한 대로 뺄셈을 수행하고 절대값을 구합니다. 이 연산은 두 이미지 간의 차이를 계산하는 데 사용할 수 있습니다.
Abs(g1 -g2) - 최소값: 이미지 1과 이미지 2의 회색조 값을 픽셀 단위로 비교하여, 두 값 중 더 작은 값을 출력 이미지의 해당 픽셀에 할당합니다.
Min(g1,g2) - 최대값: 이미지 1과 이미지 2의 회색조 값을 픽셀 단위로 비교하여, 두 값 중 더 큰 값을 출력 이미지의 해당 픽셀에 할당합니다.
Max(g1,g2)
정보
모든 결합 작업의 경우, 두 이미지의 크기와 픽셀 형식이 동일해야 합니다.
Arithmetic 운영#
더하기, 빼기, 곱하기, 나누기는 이항 연산입니다. 이러한 연산은 결과 이미지의 회색조 값 범위를 변경합니다. 그 결과, 회색조 값의 언더플로우 또는 오버플로우가 발생할 수 있습니다. 이 경우, 범위 밖인 회색조 값은 입력 이미지 형식의 최대 또는 최소 회색조 값으로 자동 설정됩니다.
예: 8비트 이미지의 경우, 음수인 출력 그레이값은 0으로 설정되고, 255를 초과하는 출력 그레이값은 255로 설정됩니다.
이를 방지하기 위해, Image Combiner 는 주요 연산의 중간 결과를 개선할 수 있는 2차 산술 연산(곱셈 및 덧셈)을 제공합니다. 이는 다음 공식에서 확인할 수 있습니다:
통풍 = 연산 (g1,g2) * 곱셈 계수 + 더하기 값
이러한 추가적인 곱셈 또는 덧셈 단계는 8비트 이미지와 같은 부호 없는 이미지 형식에서 입력 이미지의 회색조 범위를 유지하기 위해 자주 사용됩니다.
예시: 두 개의 8비트 입력 이미지를 덧셈으로 합친 후 그레이스케일 값이 범위를 벗어나는 것을 방지하려면, 곱셈 계수를 0.5로, 더하기 값을 0.0으로 지정하십시오. 이미지를 뺄셈한 후에는 곱셈 계수를 0.5로, 더하기 값을 128로 설정하면 좋은 결과를 얻을 수 있습니다.
일반적인 사용 사례#
Object Detection#
물체 탐지를 위한 간단한 방법은 대상 장면에 물체가 전혀 없는 상태에서 기준 이미지를 촬영하는 것입니다. 이를 기준 이미지 또는 배경 이미지라고 합니다. 물체를 탐지하기 위해서는 검사 이미지에서 기준 이미지를 빼서, 회색조 값이 서로 다른 픽셀 영역이 어디에 있는지 확인합니다.
그 후, 생성된 차분 이미지에 임계값 처리를 적용하여 회색조 값의 편차가 큰 영역을 분할할 수 있습니다. 일반적인 작업 흐름은 ‘Image Smoothing ’ vTool 또는 ‘Image Morphology ’ vTool로 시작한 다음, ‘ Image Combiner ’와 임계값 처리 vTool을 차례로 사용하는 것입니다.
비슷한 결과를 얻을 수 있는 ‘Relative Thresholding ’ vTool과 비교했을 때, 이 vTool 조합을 사용하면 필터 유형과 마스크 모양 측면에서 더 다양한 선택지를 얻을 수 있습니다. 예를 들어, ‘ Image Morphology ’ vTool은 직사각형 및 원형 마스크는 물론 중앙값 필터링과 순위 필터링 기능을 제공하는 반면, ‘ Relative Thresholding ’ vTool은 직사각형 마스크와 평균 필터링 기능만 포함하고 있습니다.
두 검사 이미지의 비교#
동일한 조건(예: 동일한 카메라, 조명, 촬영 각도, 피사체)에서 서로 다른 시간에 촬영된 두 이미지 사이에 차이가 있는지 확인할 수 있습니다. 이를 위해 ‘차분’ 또는 ‘절대 차이’ 연산을 사용하십시오.
가상 이미지 생성#
개발이나 테스트를 위해 특정 유형의 합성 이미지가 필요할 수 있습니다. 예를 들어, 특정 노이즈 패턴이나 배경을 추가하거나, 이미지를 마스크 이미지와 곱셈 연산할 수 있습니다.
비균일 조명의 보정#
조명이 고르지 않거나 비네팅 현상이 발생하면 이미지의 각 부분마다 밝기 값이 달라질 수 있습니다. 예를 들어, 이후 단계에서 이미지 전체에 대해 단일 전역 임계값을 적용하는 임계값 처리를 수행하려는 경우, 이러한 현상이 문제를 일으킬 수 있습니다.
이 문제를 해결하기 위해, 큰 마스크를 적용한 평균 또는 중앙값 필터링을 사용하여 이미지의 기본 밝기 분포를 추출할 수 있습니다. 이러한 밝기 분포 이미지(가급적 오프라인 보정 단계에서 생성하는 것이 바람직함)를 확보한 후에는, 이를 입력된 검사 이미지에서 빼거나 입력된 검사 이미지를 해당 밝기 분포 이미지로 나누어 계산할 수 있습니다.
vTool 구성#
Image Combiner vTool을 구성하려면:

- vTool 설정 영역의 ‘레시피 관리’ 창에서 ‘설정 열기’를 클릭하거나 vTool을 두 번 클릭합니다.
‘Image Combiner Starter/Basic’ 대화 상자가 열립니다. - “결합기 작업” 영역에서 원하는 작업을 선택하십시오.
- 가능한 경우, 2차 산술 연산에 사용할 곱셈 및 덧셈 값을 지정하십시오.
핀 데이터 보기에서 이미지 결합 결과를 확인할 수 있습니다.
Inputs#
Image1#
Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)로부터 직접 이미지를 수신합니다.
- Data type: Image
- 이미지 형식: 8비트~16비트 단색 또는 컬러 이미지( ‘지원되는 픽셀 형식’ 참조). Image1과 Image2의 픽셀 형식은 동일해야 합니다.
Image2#
Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)로부터 직접 이미지를 수신합니다.
- Data type: Image
- 이미지 형식: 8비트~16비트 단색 또는 컬러 이미지( ‘지원되는 픽셀 형식’ 참조). Image1과 Image2의 픽셀 형식은 동일해야 합니다.
Outputs#
Image#
합성된 이미지를 반환합니다. 출력 이미지는 이미지를 입력으로 받는 모든 vTool에서 사용할 수 있습니다.
- Data type: Image
- 이미지 포맷: 컬러 또는 모노 이미지(지원되는 Pixel Format 참조)
지원되는 Pixel Format#
입력 이미지의 픽셀 형식에 따라, ‘ Image Combiner ’ vTool은 다음과 같은 픽셀 형식으로 출력합니다:
| 입력 Pixel Format | 출력 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 |