For the complete documentation index, see llms.txt. This page is also available as Markdown.

이미지 윤곽선

이미지에서 윤곽선을 찾고 개수를 셉니다.

OpenCV의 윤곽선 검출을 사용해 임계값이 적용된 이진 또는 그레이스케일 이미지에서 윤곽선(도형의 경계)을 감지하고 추출하며, 감지된 윤곽선을 이미지에 그린 뒤 좌표, 계층 정보, 개수를 포함한 윤곽선 데이터를 반환하여 도형 분석, 객체 경계 감지, 윤곽선 기반 이미지 처리 워크플로를 지원합니다.

이 블록의 작동 방식

이 블록은 이미지에서 윤곽선(연결된 도형의 경계)을 감지하고 시각화를 위해 이를 그립니다. 이 블록은:

  1. 최상의 결과를 위해 임계값이 적용된(이진 또는 그레이스케일) 입력 이미지를 받습니다

  2. 이미지가 컬러인 경우 그레이스케일로 변환합니다(BGR 컬러 이미지를 그레이스케일로 변환하여 처리)

  3. OpenCV의 findContours 함수를 사용해 윤곽선을 감지합니다:

    • RETR_EXTERNAL 검색 모드를 사용하여 외부 윤곽선만 찾습니다(도형의 바깥 경계)

    • CHAIN_APPROX_SIMPLE 근사 방법을 사용해 윤곽선 포인트를 압축합니다(중복 포인트를 줄임)

    • 닫힌 윤곽선 또는 열린 윤곽선을 형성하는 모든 연결된 경계점을 감지합니다

    • 윤곽선을 점 배열로 반환하고, 윤곽선 관계를 설명하는 계층 정보를 함께 반환합니다

  4. 이미지에 감지된 윤곽선을 그립니다:

    • 시각화를 위해 그레이스케일 이미지를 다시 BGR 컬러 형식으로 변환합니다

    • 구성 가능한 선 두께를 사용해 이미지에 모든 윤곽선을 그립니다

    • 기본적으로 윤곽선에는 보라색(BGR에서 255, 0, 255)을 사용합니다

    • 시각적 검사를 위해 이미지에 윤곽선을 직접 그립니다

  5. 이미지에서 감지된 총 윤곽선 수를 셉니다

  6. 윤곽선이 그려진 이미지, 윤곽선 데이터(점 배열), 계층 정보, 윤곽선 개수를 반환합니다

이 블록은 객체가 흰색이고 배경이 검은색인(또는 그 반대인) 임계값 적용 이진 이미지를 입력으로 기대하며, 이는 최적의 윤곽선 검출을 위해 필요합니다. 윤곽선은 서로 다른 픽셀 강도 영역 사이의 경계로 감지됩니다. RETR_EXTERNAL 모드는 내부 구멍은 무시하고 외부 경계에만 집중하므로 개별 객체를 감지하는 데 유용합니다. CHAIN_APPROX_SIMPLE 방법은 직선 구간의 중복 포인트를 제거하여 윤곽선 데이터를 더 간결하게 만들면서도 핵심 도형 정보는 유지합니다.

일반적인 사용 사례

  • 도형 감지 및 분석: 경계선을 찾아 이미지 속 도형을 감지하고 분석합니다(예: 도형 분석을 위해 객체 경계 감지, 기하학적 도형 식별, 측정을 위한 도형 윤곽 추출), 도형 기반 이미지 분석 워크플로를 지원합니다

  • 객체 경계 추출: 임계값이 적용된 이미지에서 객체 경계와 윤곽을 추출합니다(예: 후속 처리를 위한 객체 경계 추출, 객체 가장자리 식별, 이진 이미지에서 객체 윤곽 감지), 경계 추출 워크플로를 지원합니다

  • 이미지 분할 분석: 윤곽선 경계를 감지해 분할 결과를 분석합니다(예: 분할 마스크에서 윤곽선 찾기, 분할된 영역 분석, 분할 객체에서 경계 추출), 분할 분석 워크플로를 지원합니다

  • 품질 관리 및 검사: 윤곽선 검출을 품질 관리 및 검사 작업에 사용합니다(예: 예상치 못한 윤곽선을 찾아 결함 감지, 객체 형태 검증, 객체 경계 검사), 윤곽선 기반 품질 관리 워크플로를 지원합니다

  • 객체 개수 세기: 윤곽선을 감지하여 이미지 속 객체 수를 셉니다(예: 윤곽선 감지로 객체 수 세기, 경계를 기준으로 객체 열거, 윤곽선 검출로 항목 수량화), 윤곽선 기반 객체 계수 워크플로를 지원합니다

  • 측정 및 분석: 윤곽선을 사용해 측정과 기하학적 분석을 수행합니다(예: 윤곽선을 이용한 객체 둘레 측정, 객체 형태 분석, 윤곽선으로부터 기하학적 특성 계산), 윤곽선 기반 측정 워크플로를 지원합니다

다른 블록에 연결하기

이 블록은 임계값이 적용된 이미지를 입력받아 윤곽선 데이터와 시각화를 생성합니다:

  • 이미지 임계값 처리 블록 이후 임계값이 적용된 이진 이미지에서 윤곽선을 감지하기 위해(예: 임계값 적용 후 윤곽선 찾기, 이진 이미지의 도형 감지, 임계값 처리된 이미지에서 경계 추출), 임계값→윤곽선 워크플로를 지원합니다

  • 이미지 전처리 블록 이후 윤곽선 검출을 위해 이미지를 준비하는 데 사용됩니다(예: 전처리 후 윤곽선 감지, 필터링 후 도형 찾기, 향상 후 경계 추출), 전처리된 윤곽선 검출 워크플로를 지원합니다

  • 분할 블록 이후 분할 결과에서 윤곽선을 추출하기 위해(예: 분할 마스크에서 윤곽선 찾기, 분할된 영역의 경계 감지, 분할된 객체에서 도형 윤곽 추출), 분할→윤곽선 워크플로를 지원합니다

  • 시각화 블록 이전 윤곽선 시각화를 표시하기 위해(예: 감지된 윤곽선 시각화, 도형 경계 표시, 윤곽선 분석 결과 표시), 윤곽선 시각화 워크플로를 지원합니다

  • 분석 블록 앞에 윤곽선 데이터를 처리하는 데 사용됩니다(예: 윤곽선 형태 분석, 윤곽선 좌표 처리, 윤곽선 특성 측정), 윤곽선 분석 워크플로를 지원합니다

  • 필터링 또는 로직 블록 전에 윤곽선 개수나 속성을 의사결정에 사용하는 블록(예: 윤곽선 개수를 기준으로 필터링, 감지된 도형에 따라 결정, 윤곽선 속성을 기반으로 로직 적용), 윤곽선 기반 조건부 워크플로를 지원합니다

요구 사항

이 블록을 사용하기 전에 입력 이미지는 임계값이 적용되어야 합니다(이진/그레이스케일로 변환). 임계값이 적용된 이미지는 전경(흰색)과 배경(검은색) 영역이 뚜렷하여 윤곽선 검출의 신뢰도가 높아집니다. 윤곽선 검출 전에 이미지 준비를 위해 임계값 블록(예: Image Threshold) 또는 분할 블록을 사용하세요.

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/contours_detection@v1 워크플로우에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

이 단계에 대한 고유 식별자를 입력하세요..

선 두께

정수

출력 이미지에 윤곽선을 그릴 때 사용하는 선의 두께입니다. 양의 정수여야 합니다. 더 두꺼운 선(예: 5-10)은 윤곽선을 더 잘 보이게 하지만 세부 사항을 가릴 수 있습니다. 더 얇은 선(예: 1-2)은 더 많은 세부 사항을 보여주지만 보기 어려울 수 있습니다. 기본값은 3이며, 적절한 가시성을 제공합니다. 이미지 크기와 원하는 가시성에 맞게 조정하세요. 큰 이미지나 윤곽선을 매우 잘 보이게 해야 할 때는 더 두꺼운 선을, 세부 분석이나 작은 이미지에는 더 얇은 선을 사용하세요..

참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 이미지 윤곽 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): 윤곽선을 감지할 입력 이미지입니다. 최상의 결과를 위해 임계값이 적용된(이진 또는 그레이스케일) 이미지여야 합니다. 임계값이 적용된 이미지는 윤곽선 검출을 더 신뢰할 수 있게 만드는 뚜렷한 전경과 배경 영역을 가집니다. 이미지가 컬러 형식이면 자동으로 그레이스케일로 변환됩니다. 윤곽선은 서로 다른 픽셀 강도 영역 사이의 경계로 감지됩니다. 윤곽선 검출 전에 이미지를 준비하려면 임계값 블록(예: Image Threshold) 또는 분할 블록을 사용하세요. 이 블록은 외부 윤곽선(바깥 경계)을 감지하여 이미지에 그립니다..

    • 선 두께 (정수): 출력 이미지에 윤곽선을 그릴 때 사용하는 선의 두께입니다. 양의 정수여야 합니다. 더 두꺼운 선(예: 5-10)은 윤곽선을 더 잘 보이게 하지만 세부 사항을 가릴 수 있습니다. 더 얇은 선(예: 1-2)은 더 많은 세부 사항을 보여주지만 보기 어려울 수 있습니다. 기본값은 3이며, 적절한 가시성을 제공합니다. 이미지 크기와 원하는 가시성에 맞게 조정하세요. 큰 이미지나 윤곽선을 매우 잘 보이게 해야 할 때는 더 두꺼운 선을, 세부 분석이나 작은 이미지에는 더 얇은 선을 사용하세요..

  • 출력

    • 이미지 (이미지): 워크플로의 이미지입니다.

    • contours (contours): 각 배열이 윤곽선 포인트를 나타내는 numpy 배열 목록입니다.

    • 계층 (numpy_array): Numpy 배열.

    • 윤곽선 개수 (정수): 정수 값.

예시 JSON 정의

마지막 업데이트

도움이 되었나요?