형태학 변환
색상 이미지에 형태학 변환을 적용합니다.
v2
구성 가능한 연산을 사용하여 색상 이미지에 형태학적 변환을 적용해 객체의 모양을 수정하고, 노이즈를 제거하며, 구멍을 채우고, 가장자리를 감지하고, 특징을 추출합니다. 색상 이미지는 모든 채널에 변환이 적용된 상태로 처리되며, 하위 처리 블록과의 호환성을 위해 출력은 색상으로 반환됩니다.
이 블록의 작동 방식
이 블록은 형태학적 변환을 색상 이미지(BGR 또는 BGRA)에 직접 적용합니다. 이 블록은:
변환할 입력 이미지를 받습니다(색상 또는 그레이스케일 이미지와 함께 작동)
이미지가 색상 형식인지 확인합니다(그레이스케일인 경우, 일관된 색상 출력을 위해 BGR로 변환)
지정된 kernel_size의 정사각형 구조 요소(커널)를 생성합니다
선택한 형태학적 연산을 모든 채널에 동시에 적용합니다
변환 과정 전체에서 색상 형식을 유지합니다(BGRA 이미지의 알파 채널 포함)
형태학적으로 변환된 색상 이미지를 반환합니다
지원되는 연산:
침식: 경계 픽셀을 제거하여 객체를 축소합니다(객체를 분리하고 노이즈를 제거함)
팽창: 경계 픽셀을 추가하여 객체를 확장합니다(객체를 연결하고 구멍을 채움)
열림: 침식 후 팽창(노이즈를 제거하고 객체를 분리함)
닫힘: 팽창 후 침식(구멍을 채우고 조각들을 연결함)
열림 후 닫힘: 먼저 열고 그다음 닫습니다(가장자리 감지 및 정제를 위한 특수 전처리)
그라디언트: 팽창에서 침식을 뺀 것(객체 경계/가장자리를 강조함)
톱햇: 입력에서 열림을 뺀 것(작은 밝은 세부 정보를 감지함)
블랙햇: 닫힘에서 입력을 뺀 것(작은 어두운 세부 정보를 감지함)
모든 연산은 색상 형식을 유지하므로 출력이 Mask Edge Snap 같은 하위 색상 기반 블록과 호환됩니다.
일반적인 사용 사례
색상 이미지 전처리: 하위 블록을 위해 색상 정보를 유지하면서 색상 이미지를 처리합니다
가장자리 감지 및 정제: 가장자리 스냅 전에 특수 전처리를 위해 열림+닫힘을 사용합니다
노이즈 제거: 색상 채널을 유지하면서 색상 이미지에서 노이즈를 제거합니다
특징 추출: 색상 이미지에서 형태학적 특징을 추출합니다
이미지 조건화: 색상 기반 하위 처리를 위해 색상 이미지를 준비합니다
다른 블록에 연결하기
Mask Edge Snap 이전: 가장자리 스냅 및 마스크 정제를 위해 색상 이미지를 출력합니다
시각화 블록 이전: 형태학적으로 처리된 색상 이미지를 표시합니다
색상 이미지 파이프라인에서: 색상 정보를 유지하면서 색상 이미지를 처리합니다
유형 식별자
단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/morphological_transformation@v2 워크플로우에 이 블록을 단계로 추가하려면.
속성
이름
유형
설명
참조
name
str
이 단계에 대한 고유 식별자를 입력하세요..
❌
커널 크기
정수
형태학적 연산에 사용되는 정사각형 구조 요소(커널)의 크기입니다. 양의 정수여야 합니다. 일반적인 값의 범위는 3-15입니다. 객체 크기와 원하는 변환 규모에 따라 조정하세요..
✅
연산
str
적용할 형태학적 연산의 유형입니다. '열림 후 닫힘'은 가장자리 감지 및 마스크 정제(예: Mask Edge Snap 블록 사용) 전에 수행하는 전처리를 위해 특별히 설계되었습니다. 그 외의 모든 연산은 표준 형태학 정의를 따릅니다..
✅
이 참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 형태학적 변환 버전 v2 을 가지고 있는지.
입력 및 출력 바인딩
입력
이미지(이미지): 형태학적 변환을 적용할 입력 색상 이미지입니다. BGR, BGRA 또는 그레이스케일 이미지와 함께 작동합니다. 그레이스케일 이미지는 일관된 색상 출력을 위해 자동으로 BGR로 변환됩니다. 변환은 모든 채널에 적용됩니다. 출력은 Mask Edge Snap 같은 하위 블록과의 호환성을 위해 항상 색상 형식(BGR)입니다..커널 크기(정수): 형태학적 연산에 사용되는 정사각형 구조 요소(커널)의 크기입니다. 양의 정수여야 합니다. 일반적인 값의 범위는 3-15입니다. 객체 크기와 원하는 변환 규모에 따라 조정하세요..연산(string): 적용할 형태학적 연산의 유형입니다. '열림 후 닫힘'은 가장자리 감지 및 마스크 정제(예: Mask Edge Snap 블록 사용) 전에 수행하는 전처리를 위해 특별히 설계되었습니다. 그 외의 모든 연산은 표준 형태학 정의를 따릅니다..
출력
이미지(이미지): 워크플로의 이미지입니다.
v1
구성 가능한 연산(침식, 팽창, 열림, 닫힘, 그라디언트, 톱햇, 블랙햇)을 사용하여 이미지에 형태학적 변환을 적용해 객체의 모양을 수정하고, 노이즈를 제거하며, 구멍을 채우고, 가장자리를 감지하고, 이진 또는 그레이스케일 이미지에서 특징을 추출하여 이미지 처리, 노이즈 제거 및 특징 추출 워크플로를 지원합니다.
이 블록의 작동 방식
이 블록은 구조 요소(커널)를 사용하여 이미지에 형태학적 변환을 적용해 객체의 모양을 수정하고 특징을 추출합니다. 이 블록은:
변환할 입력 이미지를 받습니다(색상 이미지는 자동으로 그레이스케일로 변환됨)
색상 형식인 경우 이미지를 그레이스케일로 변환합니다(형태학적 연산은 단일 채널 이미지에서 작동함)
지정된 kernel_size의 정사각형 구조 요소(커널)를 생성합니다:
(kernel_size, kernel_size) 차원의 1로 이루어진 정사각형 행렬을 생성합니다
커널은 형태학적 연산에 사용되는 이웃 영역을 정의합니다
더 큰 커널은 더 넓은 영역에 영향을 주고, 더 작은 커널은 더 작은 영역에 영향을 줍니다
선택한 형태학적 연산을 적용합니다:
침식의 경우:
객체 경계에서 픽셀을 제거하여 객체를 축소합니다
각 픽셀을 해당 커널 이웃 영역의 최소값으로 대체합니다
객체를 얇게 만들고 작은 돌출부를 제거합니다
붙어 있는 객체를 분리하고 작은 노이즈를 제거하는 데 유용합니다
팽창의 경우:
객체 경계에 픽셀을 추가하여 객체를 확장합니다
각 픽셀을 해당 커널 이웃 영역의 최대값으로 대체합니다
객체를 두껍게 만들고 작은 구멍을 채웁니다
가까운 객체를 연결하고 틈을 메우는 데 유용합니다
열림의 경우(침식 후 팽창):
먼저 이미지를 침식한 다음 팽창시킵니다
작은 노이즈를 제거하고 붙어 있는 객체를 분리합니다
작은 세부 사항을 제거하면서 더 큰 객체를 보존합니다
노이즈 제거 및 객체 분리에 유용합니다
닫힘의 경우(팽창 후 침식):
먼저 이미지를 팽창시킨 다음 침식합니다
작은 구멍을 채우고 가까운 객체를 연결합니다
틈을 메우면서 객체 형태를 보존합니다
구멍을 채우고 분절된 객체를 연결하는 데 유용합니다
그라디언트의 경우(팽창에서 침식을 뺀 것):
팽창된 이미지와 침식된 이미지의 차이를 계산합니다
객체 경계와 가장자리를 강조합니다
객체 둘레를 보여주는 윤곽 효과를 만듭니다
가장자리 감지 및 경계 추출에 유용합니다
톱햇의 경우(입력에서 열림을 뺀 것):
원본 이미지와 그 열림 결과의 차이를 계산합니다
열림으로 제거된 작은 밝은 세부 사항을 강조합니다
커널보다 작은 밝은 특징을 강조합니다
작은 밝은 객체나 세부 사항을 감지하는 데 유용합니다
블랙햇의 경우(닫힘에서 입력을 뺀 것):
닫힘 결과와 원본 이미지의 차이를 계산합니다
닫힘으로 채워진 작은 어두운 세부 사항을 강조합니다
커널보다 작은 어두운 특징을 강조합니다
작은 어두운 객체나 구멍을 감지하는 데 유용합니다
이미지 구조와 메타데이터를 보존합니다
형태학적으로 변환된 이미지를 반환합니다
형태학적 연산은 구조 요소(커널)를 사용해 이미지 구조를 탐색하고 수정합니다. kernel_size는 변환의 규모를 제어하며, 더 큰 커널은 더 넓은 영역에 영향을 주고 더 두드러진 효과를 냅니다. 기본 연산(침식, 팽창)은 객체 크기를 수정하고, 복합 연산(열림, 닫힘)은 노이즈 제거와 간격 채우기를 위해 효과를 결합하며, 파생 연산(그라디언트, 톱햇, 블랙햇)은 특정 특징을 추출합니다. 이 연산들은 객체 경계가 명확하게 정의된 이진 또는 고대비 그레이스케일 이미지에서 가장 잘 작동합니다.
일반적인 사용 사례
노이즈 제거: 이진 또는 그레이스케일 이미지에서 작은 노이즈와 아티팩트를 제거합니다(예: 소금과 후추 노이즈 제거, 작은 아티팩트 제거, 임계값 처리된 이미지 정리), 노이즈 제거 워크플로를 지원합니다
객체 분리: 이미지에서 서로 붙어 있거나 겹친 객체를 분리합니다(예: 붙어 있는 객체 분리, 연결된 영역 분할, 개별 객체 분리), 객체 분리 워크플로를 지원합니다
구멍 채우기: 객체의 작은 구멍과 틈을 채웁니다(예: 객체의 구멍 채우기, 형태의 틈 닫기, 분절된 객체 완성), 구멍 채우기 워크플로를 지원합니다
에지 검출: 형태학적 그라디언트를 사용해 객체 경계와 가장자리를 감지합니다(예: 객체 가장자리 찾기, 경계 추출, 객체 윤곽 감지), 형태학적 가장자리 감지 워크플로를 지원합니다
특징 추출: 작은 밝은 또는 어두운 객체 같은 특정 특징을 추출합니다(예: 톱햇으로 작은 밝은 세부 사항 감지, 블랙햇으로 작은 어두운 객체 찾기, 특정 형태학적 특징 추출), 특징 추출 워크플로를 지원합니다
이미지 전처리: 추가 처리를 위해 이진 또는 그레이스케일 이미지를 준비합니다(예: 임계값 처리된 이미지 정리, 윤곽선 감지를 위한 이미지 준비, 분석을 위한 이미지 전처리), 형태학적 전처리 워크플로를 지원합니다
다른 블록에 연결하기
이 블록은 이미지를 받아 형태학적으로 변환된 이미지를 생성합니다:
이미지 임계값 처리 블록 이후 : 임계값 처리된 이진 이미지를 정리합니다(예: 임계값 처리된 이미지에서 노이즈 제거, 이진 이미지의 구멍 채우기, 임계값 처리된 이미지에서 객체 분리), 임계값 처리에서 형태학으로 이어지는 워크플로를 지원합니다
전처리 블록 뒤에 : 다른 전처리 후 형태학적 연산을 적용합니다(예: 필터링 후 형태학 적용, 임계값 처리 후 정리, 향상 후 처리), 다단계 전처리 워크플로를 지원합니다
윤곽선 검출 블록 앞 : 윤곽선 감지를 위해 이미지를 준비합니다(예: 윤곽선 감지 전 이미지 정리, 윤곽선 찾기 전 구멍 채우기, 윤곽선 분석 전 객체 분리), 형태학에서 윤곽선으로 이어지는 워크플로를 지원합니다
분석 블록 앞에 : 이진 또는 그레이스케일 이미지를 처리합니다(예: 정리된 이미지 분석, 분리된 객체 처리, 형태학적으로 처리된 이미지 작업), 형태학적 분석 워크플로를 지원합니다
시각화 블록 이전 : 형태학적으로 변환된 이미지를 표시합니다(예: 정리된 이미지 시각화, 처리 결과 표시, 변환 효과 표시), 형태학적 시각화 워크플로를 지원합니다
이미지 처리 파이프라인에서 : 형태학적 연산이 더 큰 처리 체인의 일부인 경우(예: 파이프라인에서 이미지 정리, 다단계 워크플로에서 형태학 적용, 변환 체인에서 이미지 처리), 형태학적 처리 파이프라인 워크플로를 지원합니다
요구 사항
이 블록은 단일 채널(그레이스케일) 이미지에서 작동합니다. 색상 이미지는 처리 전에 자동으로 그레이스케일로 변환됩니다. 형태학적 연산은 객체 경계가 명확하게 정의된 이진 또는 고대비 그레이스케일 이미지에서 가장 잘 작동합니다. 최적의 결과를 위해 임계값 처리된 이진 이미지나 고대비 그레이스케일 이미지를 입력으로 사용하세요.
유형 식별자
단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/morphological_transformation@v1 워크플로우에 이 블록을 단계로 추가하려면.
속성
이름
유형
설명
참조
name
str
이 단계에 대한 고유 식별자를 입력하세요..
❌
커널 크기
정수
형태학적 연산에 사용되는 정사각형 구조 요소(커널)의 크기입니다. 양의 정수여야 합니다. 커널은 (kernel_size, kernel_size) 차원의 1로 이루어진 정사각형 행렬입니다. 더 큰 값은 더 큰 커널을 만들어 더 넓은 영역에 영향을 주고 더 두드러진 효과를 냅니다. 더 작은 값은 더 작은 커널을 만들어 더 작은 영역에 영향을 주고 더 미세한 효과를 냅니다. 일반적인 값의 범위는 3-15입니다: 정밀한 연산과 작은 객체에는 더 작은 값(3-5), 일반적인 용도에는 중간 값(5-9), 거친 연산과 큰 객체에는 더 큰 값(11-15)을 사용합니다. 기본값은 5이며, 균형이 좋습니다. 객체 크기와 원하는 변환 규모에 따라 조정하세요..
✅
연산
str
적용할 형태학적 연산의 유형입니다: '침식'은 경계 픽셀을 제거하여 객체를 축소하고(객체를 분리하고, 노이즈를 제거함), '팽창'은 경계 픽셀을 추가하여 객체를 확장하며(객체를 연결하고, 구멍을 채움), '열림'(침식 후 팽창)은 노이즈를 제거하고 객체를 분리하고, '닫힘'(기본값, 팽창 후 침식)은 구멍을 채우고 객체를 연결하며, '그라디언트'(팽창에서 침식을 뺀 것)는 객체 경계/가장자리를 찾고, '톱햇'(입력에서 열림을 뺀 것)은 작은 밝은 세부 정보를 감지하고, '블랙햇'(닫힘에서 입력을 뺀 것)은 작은 어두운 세부 정보를 감지합니다. 기본값은 '닫힘'이며, 일반적으로 구멍 채우기에 사용됩니다. 목표에 따라 선택하세요: 크기 수정을 위해서는 침식/팽창, 노이즈 제거와 틈 채우기를 위해서는 열림/닫힘, 가장자리 감지를 위해서는 그라디언트, 특징 추출을 위해서는 톱햇/블랙햇을 사용합니다..
✅
이 참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 형태학적 변환 버전 v1 을 가지고 있는지.
입력 및 출력 바인딩
입력
이미지(이미지): 형태학적 변환을 적용할 입력 이미지입니다. 색상 이미지는 처리 전에 자동으로 그레이스케일로 변환됩니다(형태학적 연산은 단일 채널 이미지에서 작동함). 객체 경계가 명확하게 정의된 이진 또는 고대비 그레이스케일 이미지에서 가장 잘 작동합니다. 임계값 처리된 이진 이미지가 최적의 결과를 제공합니다. 형태학적으로 변환된 이미지는 선택한 연산에 따라 객체 모양이 수정되고, 노이즈가 제거되고, 구멍이 채워지거나, 특징이 추출됩니다. 원본 이미지의 메타데이터는 출력에 보존됩니다..커널 크기(정수): 형태학적 연산에 사용되는 정사각형 구조 요소(커널)의 크기입니다. 양의 정수여야 합니다. 커널은 (kernel_size, kernel_size) 차원의 1로 이루어진 정사각형 행렬입니다. 더 큰 값은 더 큰 커널을 만들어 더 넓은 영역에 영향을 주고 더 두드러진 효과를 냅니다. 더 작은 값은 더 작은 커널을 만들어 더 작은 영역에 영향을 주고 더 미세한 효과를 냅니다. 일반적인 값의 범위는 3-15입니다: 정밀한 연산과 작은 객체에는 더 작은 값(3-5), 일반적인 용도에는 중간 값(5-9), 거친 연산과 큰 객체에는 더 큰 값(11-15)을 사용합니다. 기본값은 5이며, 균형이 좋습니다. 객체 크기와 원하는 변환 규모에 따라 조정하세요..연산(string): 적용할 형태학적 연산의 유형입니다: '침식'은 경계 픽셀을 제거하여 객체를 축소하고(객체를 분리하고, 노이즈를 제거함), '팽창'은 경계 픽셀을 추가하여 객체를 확장하며(객체를 연결하고, 구멍을 채움), '열림'(침식 후 팽창)은 노이즈를 제거하고 객체를 분리하고, '닫힘'(기본값, 팽창 후 침식)은 구멍을 채우고 객체를 연결하며, '그라디언트'(팽창에서 침식을 뺀 것)는 객체 경계/가장자리를 찾고, '톱햇'(입력에서 열림을 뺀 것)은 작은 밝은 세부 정보를 감지하고, '블랙햇'(닫힘에서 입력을 뺀 것)은 작은 어두운 세부 정보를 감지합니다. 기본값은 '닫힘'이며, 일반적으로 구멍 채우기에 사용됩니다. 목표에 따라 선택하세요: 크기 수정을 위해서는 침식/팽창, 노이즈 제거와 틈 채우기를 위해서는 열림/닫힘, 가장자리 감지를 위해서는 그라디언트, 특징 추출을 위해서는 톱햇/블랙햇을 사용합니다..
출력
이미지(이미지): 워크플로의 이미지입니다.
마지막 업데이트
도움이 되었나요?