Image Morphology vTool#
이미지 모폴로지 필터링은 일반적인 모폴로지 연산을 사용하여 이미지 노이즈를 줄이거나 특정 이미지 구조를 억제 또는 강조하는 전처리 단계입니다.
Image Morphology vTool은 Image 입력 핀을 통해 이미지를 입력받고 Image 출력 핀을 통해 필터링된 이미지를 출력합니다.
모폴로지 연산을 수행하기 전에 ROI Creator vTool을 사용하여 관심 영역을 지정하면, Image Morphology vTool이 Roi 입력 핀을 통해 ROI 데이터를 받습니다. 이 경우 관심 영역에 대해서만 모폴로지 연산이 수행되므로 처리 속도가 빨라집니다.
Image Morphology vTool은 Preprocessing Basic 라이선스에서 사용할 수 있습니다. 라이선스를 구매하려면 Basler 웹사이트를 방문하십시오.

Image Morphology vTool 버전#
Image Morphology vTool은 두 가지 버전으로 제공됩니다. 다음 표는 버전 간의 차이점을 보여줍니다. 표 제목에서 버전을 클릭하면 이 주제의 관련 섹션으로 바로 이동할 수 있습니다.
| Starter | Basic | |
|---|---|---|
| Rank 모폴로지 연산을 사용할 수 있습니까? | No | Yes |
| Roi 입력 핀에 유효한 데이터 형식 | RectangleF | RectangleF, RectangleF Array, Region, Region Array |
| 라이선스 구매 | pylon Software Suite에 포함됨 | Basler 웹사이트 방문 |
작동 원리#
Image Morphology vTool은 다음과 같은 모폴로지 연산을 제공합니다:
- Dilation
- Erosion
- Closing
- Opening
- Median filtering
- Rank filtering(Basic 버전만 해당)
Mask Shapes#
모든 모폴로지 연산에는 직사각형 마스크를 사용할 수 있습니다. 또한 Dilation, Erosion, Closing 및 Opening에는 원형 마스크를 사용할 수 있습니다. 마스크 모양에 따라 너비와 높이 또는 반경을 지정할 수 있습니다. 모든 마스크에는 명확하게 정의된 중심이 있습니다. 모폴로지 연산 중에 마스크는 이미지 위를 라인 단위로 이동합니다.
직사각형 마스크의 경우 홀수 너비 및 높이 값만 허용됩니다.
설정 대화상자를 처음 열고 직사각형 마스크를 선택하면 Width 및 Height 옵션이 연결됩니다. 즉, 두 파라미터를 동시에 변경할 수 있으며 결과 마스크는 정사각형이 됩니다. 너비와 높이를 개별적으로 지정할 수도 있습니다. 이렇게 하려면 체인 아이콘을 클릭하여 너비와 높이 간의 연결을 해제하십시오.
- 연결된 옵션:
- 연결 해제된 옵션:
원형 마스크의 경우 0.5픽셀 단위로 반경을 지정할 수 있습니다. 1.5, 2.5 등의 값을 가진 반경은 중심에 대해 대칭인 마스크를 생성합니다. 정수 반경(예: 1.0, 2.0, 3.0 등)의 경우 마스크의 중심은 무게 중심에서 왼쪽 위로 다음 픽셀에 위치합니다.
Median 및 rank filtering의 경우 홀수 너비 및 높이 값을 가진 직사각형 마스크만 허용됩니다.
Dilation and Erosion#
Dilation은 최댓값 필터와 동일합니다. 마스크가 덮는 입력 이미지의 모든 픽셀 중 가장 높은 회조 값으로 출력 회조 값(마스크의 중심)을 설정합니다. 따라서 Dilation은 이미지의 밝은 구조를 팽창시키거나 확장합니다.
Erosion은 최솟값 필터와 동일합니다. 마스크가 덮는 입력 이미지의 모든 픽셀 중 가장 낮은 회조 값으로 출력 회조 값(마스크의 중심)을 설정합니다. 따라서 Erosion은 이미지의 밝은 구조를 침식시키거나 축소합니다.
예시: 이진 이미지(즉, 모든 픽셀이 어둡거나 밝은 상태, 예: 0 및 200만 가질 수 있는 이미지)가 있다고 가정합니다. 이제 이를 이미지의 밝은 픽셀에 임계값을 적용하여 생성된 영역(예: Auto Thresholding Basic vTool 사용)과 비교해 보세요. 이 경우 image morphology는 region morphology와 동일한 결과를 생성합니다. 즉, (밝은 픽셀의) 임계값 처리와 region morphology 처리(즉, Dilation, Erosion, Closing 및 Opening)의 순서는 image morphology 필터링과 임계값 처리의 순서와 동일한 결과를 생성합니다.
Closing and Opening#
Opening과 Closing은 해당 region morphology 연산과 동일한 방식으로 작동합니다:
- Closing은 Dilation 후 Erosion이 수행되는 방식입니다.
- Opening은 Erosion 후 Dilation이 수행되는 방식입니다.
마스크는 두 연산 모두에서 동일하게 유지됩니다.
Closing을 사용하면 이미지에서 작은 어두운 영역을 제거할 수 있습니다. 예를 들어, 밝은 배경에 어두운 텍스트가 포함된 이미지의 배경 이미지를 생성하기 위해 Closing 연산을 사용할 수 있습니다. 이 사용 사례에서는 마스크 크기가 글자보다 2~3배 커야 합니다.
반대로 Opening 연산을 사용하면 이미지에서 작은 밝은 영역을 제거할 수 있습니다.
Median Filtering#
Median 필터는 필터 마스크가 덮는 입력 이미지의 모든 픽셀을 가져와 오름차순으로 정렬한 다음 중앙값, 즉 정렬된 리스트의 중앙에 있는 회조 값을 선택합니다. 이 중앙값은 출력 이미지에 사용됩니다.
이 필터는 전체 이미지 밝기를 대략적으로 유지하며 평균 및 이항 image smoothing filters의 대안으로 사용할 수 있습니다.
이상치(값이 크게 벗어나는 매우 밝거나 어두운 픽셀)가 결과에 영향을 주지 않으므로 소위 로버스트 평균(robust average)을 생성합니다. 이로 인해 Median Filter은 솔트 앤 페퍼 노이즈를 억제하는 데 더 적합합니다.
Rank Filtering (Basic Version Only)#
Rank 필터는 앞서 언급한 Erosion, Dilation, Median Filter과 동일한 결과를 얻을 수 있는 매우 범용적인 필터 유형입니다.
filter mask에 포함된 입력 이미지의 모든 픽셀이 오름차순으로 정렬됩니다. 출력 그레이 값은 사용자가 정의한 목록의 위치 또는 순위에 해당하는 그레이 값입니다.
rank 값이 0인 Rank 필터는 최소값 필터(즉, Erosion)와 동일합니다. rank 값이 0.5인 Rank 필터는 Median Filter과 동일합니다. 마지막으로 rank 값이 1.0인 Rank 필터는 최대값 필터(즉, Dilation)와 동일합니다.
예시: 회색 배경에 어두운 텍스트가 있는 이미지가 있다고 가정해 보겠습니다. 일반적으로 문자를 제거하려면 Erosion을 사용합니다. 그러나 배경에는 아주 작은 밝은 점과 같은 약간의 노이즈도 존재합니다. Erosion을 사용하면 이러한 밝은 점이 두드러져 배경이 이상하게 보일 수 있습니다. 대신 rank 값을 0.8 정도로 설정한 Rank 필터를 사용하십시오. 이렇게 하면 필터가 어두운 문자와 밝은 점을 동시에 제거합니다.
Image Morphology Starter#
vTool 설정하기#
Image Morphology Starter vTool을 구성하려면:

- Image format: 8-bit to 16-bit mono or color images (see Supported Pixel Formats)
- Morphology Operation 영역에서 원하는 operation을 선택합니다.
- 원하는 mask shape(Circular 또는 Rectangular)를 선택합니다.
- 마스크 모양에 따라 필터 마스크의 Radius 또는 Width 및 Height를 지정합니다.
pin data view에서 변환 결과를 확인할 수 있습니다.
Image Morphology Basic#
vTool 설정하기#
Image Morphology Basic vTool을 구성하려면:

- vTool Settings 영역의 Recipe Management 창에서 Open Settings를 클릭하거나 해당 vTool을 더블 클릭합니다.
실행하면 Image Morphology Basic 대화상자가 열립니다. - Morphology Operation 영역에서 원하는 operation을 선택합니다.
- 2단계에서 Rank를 선택한 경우 Percent 옵션을 원하는 순위 값으로 설정합니다.
- 원하는 mask shape(Circular 또는 Rectangular)를 선택합니다.
- 마스크 모양에 따라 필터 마스크의 Radius 또는 Width 및 Height를 지정합니다.
pin data view에서 변환 결과를 확인할 수 있습니다.
입력#
이미지#
Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)에서 직접 이미지를 허용합니다.
- 데이터 형식: 이미지
- 이미지 형식: 8비트~16비트 단색 또는 컬러 이미지 ( 지원되는 픽셀 형식 참조)
ROI#
ROI Creator vTool 또는 영역이나 직사각형을 출력하는 기타 vTool에서 관심 영역을 수신합니다. 여러 직사각형이나 영역은 내부적으로 병합되어 단일 관심 영역을 형성합니다. Starter 버전은 RectangleF만 지원합니다.
- Data type: RectangleF, RectangleF Array, Region, Region Array
출력#
이미지#
필터링된 이미지를 반환합니다. 출력 이미지는 이미지를 입력으로 받는 모든 vTool에서 사용할 수 있습니다.
- 데이터 형식: 이미지
- Image format: Color or mono images (see Supported Pixel Formats)
지원되는 Pixel Format#
입력 이미지의 Pixel Format에 따라 Image Morphology vTool은 다음 Pixel Format을 출력합니다.
| 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 |