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

Image Morphology vTool 버전#
Image Morphology vTool에는 두 가지 버전이 제공됩니다. 다음 표에는 두 버전의 차이점이 나와 있습니다. 표 머리글에서 원하는 버전을 클릭하면 이 항목의 해당 섹션으로 바로 이동할 수 있습니다.
| Starter | Basic | |
|---|---|---|
| Rank 형태소 분석 연산이 지원되나요? | 아니요 | 예 |
| Roi 입력 핀에 유효한 데이터 형식 | RectangleF | RectangleF, RectangleF Array, Region, Region Array |
| 라이선스 구매 | pylon Software Suite에 포함됨 | Basler 웹사이트 방문 |
작동 방식#
Image Morphology vTool은 다음과 같은 형태소 분석 기능을 제공합니다:
Mask Shapes#
모든 형태학적 연산에서는 직사각형 마스크를 사용할 수 있습니다. 또한, 팽창, 침식, 폐쇄, 개방 연산에서는 원형 마스크를 사용할 수 있습니다. 마스크의 모양에 따라 너비와 높이 또는 반지름을 지정할 수 있습니다. 모든 마스크에는 명확하게 정의된 중심이 있습니다. 형태학적 연산이 진행되는 동안 마스크는 이미지 위를 한 줄씩 이동합니다.
직사각형 마스크의 경우, 너비와 높이의 값은 홀수 값만 허용됩니다.
설정 대화 상자를 처음 열고 직사각형 마스크를 선택하면 ‘너비’와 ‘높이’ 옵션이 연동됩니다. 즉, 두 매개변수를 동시에 변경할 수 있으며, 이 경우 생성되는 마스크는 정사각형이 됩니다. 또한 너비와 높이를 개별적으로 지정할 수도 있습니다. 이를 위해서는 사슬 아이콘을 클릭하여 너비와 높이 간의 연동을 해제하면 됩니다.
- 연결된 옵션:
- 연결 해제된 옵션:
원형 마스크의 경우, 반지름을 0.5 픽셀 단위로 지정할 수 있습니다. 1.5, 2.5 등과 같은 값을 반지름으로 설정하면 중심을 기준으로 대칭을 이루는 마스크가 생성됩니다. 정수 값의 반지름(예: 1.0, 2.0, 3.0 등)을 사용할 경우, 마스크의 중심은 무게 중심에서 왼쪽과 위쪽으로 한 픽셀 떨어진 위치에 있습니다.
중앙값 필터링 및 순위 필터링의 경우, 너비와 높이가 홀수인 직사각형 마스크만 사용할 수 있습니다.
확장 및 침식#
팽창 연산은 최대 필터와 동일합니다. 이 연산은 마스크의 중심이 되는 출력 그레이값을, 마스크가 덮고 있는 입력 이미지의 모든 픽셀 중에서 가장 높은 그레이값으로 설정합니다. 따라서 팽창 연산은 이미지 내의 밝은 구조를 팽창시키거나 확장시킵니다.
침식(Erosion)은 최소 필터와 동일합니다. 이 필터는 마스크의 중심이 되는 출력 그레이값을, 마스크로 덮인 입력 이미지의 모든 픽셀 중에서 가장 낮은 그레이값으로 설정합니다. 따라서 침식 연산은 이미지 내의 밝은 구조를 침식하거나 축소시킵니다.
예시: 이진 이미지를 가지고 있다고 가정해 봅시다. 즉, 모든 픽셀은 어두움 또는 밝음, 예를 들어 0과 200과 같은 상태만 가질 수 있습니다. 이제 이를, 예를 들어 ‘Auto Thresholding ’ 기본 vTool을 사용하여 이미지의 밝은 픽셀에 임계값 처리를 적용한 결과로 얻어진 영역과 비교해 보겠습니다. 이 경우, 이미지 모폴로지는 영역 모폴로지와 동일한 결과를 산출합니다. 즉, 임계값 처리(밝은 픽셀)와 영역 모폴로지 처리(즉, 팽창, 침식, 닫기, 열기)의 순서는 이미지 모폴로지 필터링과 임계값 처리의 순서와 동일한 결과를 산출합니다.
마감 및 개장#
‘열기’와 ‘닫기’는 해당 영역 형태학적 연산과 동일한 방식으로 작동합니다:
- 클로징은 팽창에 이어 침식이 이루어지는 과정입니다.
- 시작은 침식이며, 그 뒤를 이어 확장이 이어집니다.
두 작업 모두에서 마스크는 동일하게 유지됩니다.
클로징 연산을 사용하면 이미지에서 작은 어두운 영역을 제거할 수 있습니다. 예를 들어, 밝은 배경에 어두운 텍스트가 포함된 이미지의 배경 이미지를 생성할 때 클로징 연산을 사용할 수 있습니다. 이 경우 마스크 크기는 글자 크기의 2~3배 정도여야 합니다.
반대로, ‘Opening’ 연산을 사용하면 이미지에서 작고 밝은 영역을 제거할 수 있습니다.
중앙값 필터링#
중앙값 필터는 필터 마스크로 덮인 입력 이미지의 모든 픽셀을 취해 오름차순으로 정렬한 다음, 정렬된 목록의 중앙에 위치한 회색값, 즉 중앙값을 선택합니다. 그런 다음 이 중앙값이 출력 이미지에 적용됩니다.
이 필터는 이미지의 전반적인 밝기를 대체로 유지하며, 평균 및 이항 이미지 평활화 필터의 대안으로 사용할 수 있습니다.
이 필터는 이상치(극단적으로 벗어난 값, 즉 매우 밝은 픽셀이나 매우 어두운 픽셀)가 결과에 영향을 미치지 않기 때문에, 이른바 ‘강건한 평균’을 산출합니다. 이 때문에 중앙값 필터는 소금과 후추 노이즈를 억제하는 데 더 적합합니다.
순위 필터링 (기본 버전에서만 사용 가능)#
‘순위(Rank)’ 필터는 매우 일반적인 유형의 필터로, 앞서 언급한 침식(Erosion), 팽창(Dilation), 중앙값(Median) 필터와 동일한 결과를 얻을 수 있습니다.
필터 마스크로 가려진 입력 이미지의 모든 픽셀은 오름차순으로 정렬됩니다. 출력 그레이 값은 사용자가 정의한 목록 내의 해당 위치 또는 순서에 해당하는 그레이 값입니다.
순위 값이 0인 순위 필터는 최소값 필터(즉, 침식)와 동일합니다. 순위 값이 0.5인 순위 필터는 중앙값 필터와 동일합니다. 마지막으로, 순위 값이 1.0인 순위 필터는 최대값 필터(즉, 팽창)와 동일합니다.
예시: 회색 배경에 어두운 색의 텍스트가 있는 이미지가 있다고 가정해 봅시다. 일반적으로 ‘침식(Erosion)’ 필터를 사용하여 글자를 제거합니다. 하지만 배경에는 약간의 노이즈, 예를 들어 아주 작은 밝은 점들이 있습니다. 침식 필터를 사용하면 이러한 밝은 점들이 두드러져 배경이 이상하게 보일 수 있습니다. 대신, 랭크(Rank) 필터를 랭크 값을 0.8 정도로 설정하여 사용하십시오. 이렇게 하면 필터가 어두운 글자와 밝은 점을 동시에 제거해 줍니다.
Image Morphology 입문자#
vTool 구성#
Image Morphology Starter vTool을 구성하려면:

- vTool 설정 영역의 ‘레시피 관리’ 창에서 ‘설정 열기’를 클릭하거나 vTool을 두 번 클릭합니다.
‘Image Morphology Starter’ 대화 상자가 열립니다. - ‘형태소 연산’ 영역에서 원하는 연산을 선택하십시오.
- 원하는 마스크 모양을 선택하세요: 원형 또는 직사각형.
- 마스크 모양에 따라 필터 마스크의 반지름 또는 너비와 높이를 지정하십시오.
변환 결과는 핀 데이터 보기에서 확인할 수 있습니다.
Image Morphology 기본#
vTool 구성#
Image Morphology Basic vTool을 구성하려면:

- vTool 설정 영역의 ‘레시피 관리’ 창에서 ‘설정 열기’를 클릭하거나 vTool을 두 번 클릭합니다.
‘Image Morphology Basic’ 대화 상자가 열립니다. - ‘형태소 연산’ 영역에서 원하는 연산을 선택하십시오.
- 2단계에서 ‘순위’를 선택한 경우, ‘백분율’ 옵션을 원하는 순위 값으로 설정하십시오.
- 원하는 마스크 모양을 선택하세요: 원형 또는 직사각형.
- 마스크 모양에 따라 필터 마스크의 반지름 또는 너비와 높이를 지정하십시오.
변환 결과는 핀 데이터 보기에서 확인할 수 있습니다.
Inputs#
Image#
Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)로부터 직접 이미지를 수신합니다.
- Data type: Image
- 이미지 포맷: 8비트~16비트 모노 또는 컬러 이미지(지원되는 Pixel Format 참조)
Roi#
ROI Creator vTool 또는 영역이나 사각형을 출력하는 다른 vTool에서 관심 영역을 수신합니다. 여러 개의 사각형이나 영역은 내부적으로 병합되어 하나의 관심 영역을 형성합니다. Starter 버전은 RectangleF만 지원합니다.
- 데이터 유형: RectangleF, RectangleF Array, Region, Region Array
Outputs#
Image#
필터링된 이미지를 반환합니다. 출력 이미지는 이미지를 입력으로 받는 모든 vTool에서 사용할 수 있습니다.
- Data type: Image
- 이미지 포맷: 컬러 또는 모노 이미지(지원되는 Pixel Format 참조)
지원되는 Pixel Format#
입력 이미지의 픽셀 형식에 따라, ‘ Image Morphology ’ 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 |