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

상대 정적 자르기

이미지의 크기에 비례(%)하여 이미지를 자릅니다.

중심점과 크기로 지정된 상대 좌표(이미지 크기에 비례하는 정규화된 0.0~1.0 값)를 사용해 입력 이미지에서 고정된 사각형 영역을 추출하여, 서로 다른 크기의 이미지에서도 동일한 상대 위치에서 일관된 비례 크롭을 생성하고, 관심 영역 추출 및 크기와 무관한 고정 영역 분석 워크플로를 구현합니다.

이 블록의 작동 방식

이 블록은 절대 고정 크롭이 픽셀 좌표를 사용하는 것과 달리, 상대 좌표(정규화된 0.0~1.0 값)를 사용해 입력 이미지에서 고정된 사각형 영역을 크롭합니다. 상대 좌표는 다양한 이미지 크기에 맞게 조정되므로, 크기가 다른 이미지들에서 동일한 비례 영역을 추출하는 데 이상적입니다. 이 블록은:

  1. 입력 이미지와 상대 좌표 지정값(x_center, y_center, width, height)을 0.0에서 1.0 사이의 값으로 받습니다.

  2. 이미지 크기에 곱하여 상대 좌표를 절대 픽셀 좌표로 변환합니다:

    • x_center를 상대값(0.0~1.0)에서 절대 픽셀로 변환합니다: x_center_pixels = image_width * x_center

    • y_center를 상대값(0.0~1.0)에서 절대 픽셀로 변환합니다: y_center_pixels = image_height * y_center

    • width를 상대값(0.0~1.0)에서 절대 픽셀로 변환합니다: width_pixels = image_width * width

    • height를 상대값(0.0~1.0)에서 절대 픽셀로 변환합니다: height_pixels = image_height * height

  3. 변환된 중심점과 크기로 크롭 경계를 계산합니다:

    • 중심 좌표에서 너비/높이의 절반을 빼서 x_min과 y_min을 계산합니다

    • 최소 좌표에 너비/높이를 더해 x_max와 y_max를 계산합니다

    • 좌표 값을 정수 픽셀 위치로 반올림합니다

  4. 배열 슬라이싱(y_min부터 y_max, x_min부터 x_max까지)을 사용해 이미지에서 사각형 영역을 추출합니다

  5. 크롭된 영역에 내용이 있는지 검증합니다(좌표가 이미지 경계를 벗어나 크롭이 비어 있게 되면 None을 반환합니다)

  6. 크롭의 출처(원본 이미지, 오프셋 좌표, 고유 크롭 식별자)를 추적하는 메타데이터가 포함된 크롭 이미지 객체를 생성합니다

  7. 입력이 비디오인 경우 비디오 메타데이터를 보존합니다(프레임 정보와 시간적 문맥을 유지합니다)

  8. 각 입력 이미지에 대해 크롭된 이미지를 반환합니다

이 블록은 상대 좌표(0.0~1.0)를 사용하므로, 이미지의 크기와 관계없이 모든 이미지에서 동일한 비례 영역이 추출됩니다. 예를 들어 x_center=0.5, y_center=0.5, width=0.4, height=0.4는 이미지가 100x100 픽셀이든 2000x2000 픽셀이든 이미지 중앙의 40% x 40% 영역을 추출합니다. 따라서 이 블록은 서로 다른 크기의 이미지에서 일관된 영역을 추출하는 데 특히 유용합니다(예: 항상 오른쪽 상단 20% 모서리를 크롭하거나, 이미지 중앙의 일정 비율을 추출하거나, 특정 비례 영역에 집중하는 경우). 중심 기반 좌표계를 사용하면 모서리 좌표가 아니라 중심점으로 크롭을 지정할 수 있어, 비례 영역을 정의할 때 더 직관적일 수 있습니다.

일반적인 사용 사례

  • 크기와 무관한 영역 추출: 서로 다른 크기의 이미지에서 동일한 비례 영역을 추출하여 일관된 분석을 수행합니다(예: 해상도와 상관없이 이미지의 오른쪽 상단 20% 모서리를 크롭하고, 이미지 중앙의 일정 비율을 추출하며, 패턴 매칭을 위해 일관된 비례 영역을 크롭함), 이를 통해 크기가 다른 이미지 전반에서 표준화된 영역 분석을 가능하게 합니다

  • 다중 해상도 이미지 처리: 서로 다른 해상도의 이미지에서 일관된 비례 영역을 추출합니다(예: 고해상도 및 저해상도 이미지에서 동일한 상대 영역을 크롭하고, 크기 조정된 이미지에서 비례 영역을 추출하며, 다양한 이미지 크기에서 일관된 크롭을 유지함), 이를 통해 크기 비의존적인 영역 추출을 가능하게 합니다

  • 비례 관심 영역 집중: 이미지의 특정 비례 영역을 세부 처리를 위해 분리합니다(예: 이미지의 특정 상대 사분면을 크롭하고, 텍스트 인식을 위해 일정 비율의 영역을 추출하며, 알려진 비례 관심 영역에 집중함), 이를 통해 미리 정해진 비례 영역에 대한 집중 분석을 가능하게 합니다

  • 다단계 워크플로 준비: 후속 처리 단계용으로 고정된 비례 영역을 추출합니다(예: 전체 이미지에서 특정 상대 영역을 크롭한 뒤, 크롭된 영역에 OCR이나 분류를 수행함), 이를 통해 비례 영역에 초점을 둔 계층적 워크플로를 가능하게 합니다

  • 표준화된 크롭 생성: 학습이나 분석을 위해 이미지에서 일관된 비례 크롭을 생성합니다(예: 데이터셋 생성을 위해 모든 이미지에서 고정된 상대 영역을 추출하고, 비교를 위해 표준 비례 영역을 크롭하며, 특징 추출을 위해 균일한 비례 크롭을 생성함), 이를 통해 다양한 이미지 크기 전반에서 표준화된 데이터 준비 워크플로를 가능하게 합니다

  • 비디오 프레임 비례 크롭: 서로 다른 해상도의 비디오 프레임에서 동일한 비례 영역을 추출합니다(예: 시간적 분석을 위해 각 비디오 프레임에서 일정 비율의 영역을 크롭하고, 추적을 위한 일관된 비례 모니터링 영역을 추출하며, 프레임 전반의 특정 상대 영역에 집중함), 이를 통해 다양한 프레임 크기 전반에서 비례 영역의 시간적 분석을 가능하게 합니다

다른 블록에 연결하기

이 블록은 이미지를 입력받아 고정된 비례 영역에서 크롭된 이미지를 생성합니다:

  • 이미지 로딩 블록 다음에 처리 전에 고정된 비례 관심 영역을 추출하여, 전체 이미지를 처리하지 않고 미리 정해진 이미지 영역에 대한 집중 분석을 가능하게 하며, 특히 크기가 다른 이미지를 다룰 때 유용합니다

  • 분류 또는 분석 블록 앞에 영역 중심 입력이 필요한 경우(예: 고정된 비례 영역의 텍스트에 대한 OCR, 크롭된 영역에 대한 세밀한 분류, 특정 비례 이미지 영역을 위한 특화 모델), 최적화된 처리를 위해 사용됩니다

  • 비디오 처리 워크플로에서 해상도 변화와 상관없이 여러 프레임에서 동일한 비례 영역을 추출하여 시간적 분석을 수행합니다(예: 시간적 분석을 위해 각 비디오 프레임에서 일정 비율의 영역을 크롭하고, 추적을 위한 일관된 비례 모니터링 영역을 추출하며, 프레임 전반의 특정 상대 영역에 집중함), 이를 통해 비례 영역의 시간적 분석을 가능하게 합니다

  • 감지 블록 뒤에 대략적인 상대 위치를 알고 있고 그 주변의 고정 크기 비례 영역을 추출하고 싶을 때(예: 일반적인 상대 영역에서 객체를 감지한 뒤, 세부 분석을 위해 그 영역 주변을 고정 비례 영역으로 크롭함), 크기와 무관한 크롭을 사용하는 영역 중심의 다단계 워크플로를 가능하게 합니다

  • 시각화 블록 이전 특정 영역을 표시하는 경우(예: 크롭된 비례 영역만 표시하고, 고정된 상대 관심 영역을 시각화하며, 분리된 영역 주석을 보여줌), 추출된 비례 영역의 집중된 시각화를 가능하게 합니다

  • 배치 처리 워크플로에서 개별 이미지 크기와 관계없이 일관된 분석이나 비교를 위해 모든 이미지에서 동일한 비례 영역을 추출해야 할 때, 이미지 집합 전반에서 다양한 크기에 맞춘 표준화된 비례 영역 추출을 가능하게 합니다

유형 식별자

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

속성

이름

유형

설명

참조

name

str

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

x_center

float

크롭 영역 중심점의 X 좌표를 상대값(0.0~1.0)으로 지정합니다. 0.0은 이미지의 왼쪽 가장자리를, 1.0은 오른쪽 가장자리를, 0.5는 가로 방향 중앙을 의미합니다. 크롭 영역은 절대 픽셀로 변환된 후 이 X 좌표를 중심으로 합니다. 실제 크롭 경계는 x_min = x_center - width/2, x_max = x_min + width로 계산되며, 모든 값은 이미지 너비를 기준으로 픽셀로 변환됩니다. 계산된 크롭이 이미지 경계를 벗어나면 크롭이 잘리거나, 크롭이 비어 있으면 None을 반환할 수 있습니다. 상대 좌표는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 위치를 추출합니다..

y_center

float

크롭 영역 중심점의 Y 좌표를 상대값(0.0~1.0)으로 지정합니다. 0.0은 이미지의 위쪽 가장자리를, 1.0은 아래쪽 가장자리를, 0.5는 세로 방향 중앙을 의미합니다. 크롭 영역은 절대 픽셀로 변환된 후 이 Y 좌표를 중심으로 합니다. 실제 크롭 경계는 y_min = y_center - height/2, y_max = y_min + height로 계산되며, 모든 값은 이미지 높이를 기준으로 픽셀로 변환됩니다. 계산된 크롭이 이미지 경계를 벗어나면 크롭이 잘리거나, 크롭이 비어 있으면 None을 반환할 수 있습니다. 상대 좌표는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 위치를 추출합니다..

너비

float

크롭 영역의 너비를 상대값(0.0~1.0)으로 지정합니다. 1.0은 이미지 너비의 100%, 0.5는 이미지 너비의 50% 등을 의미합니다. 이미지 너비에 대한 비율로 크롭의 가로 범위를 정의합니다. 크롭은 절대 픽셀로 변환된 후 x_center 좌표의 왼쪽과 오른쪽으로 각각 width/2 픽셀씩 확장됩니다. 총 크롭 너비는 이 상대값에 이미지 너비를 곱한 값과 같습니다. 계산된 크롭이 이미지 너비를 벗어나면 이미지 경계로 잘립니다. 상대 너비는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 너비를 추출합니다..

높이

float

크롭 영역의 높이를 상대값(0.0~1.0)으로 지정합니다. 1.0은 이미지 높이의 100%, 0.5는 이미지 높이의 50% 등을 의미합니다. 이미지 높이에 대한 비율로 크롭의 세로 범위를 정의합니다. 크롭은 절대 픽셀로 변환된 후 y_center 좌표의 위와 아래로 각각 height/2 픽셀씩 확장됩니다. 총 크롭 높이는 이 상대값에 이미지 높이를 곱한 값과 같습니다. 계산된 크롭이 이미지 높이를 벗어나면 이미지 경계로 잘립니다. 상대 높이는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 높이를 추출합니다..

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

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 상대적 정적 자르기 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): 추론할 이미지입니다..

    • x_center (0에서 1 사이의 실수): 크롭 영역 중심점의 X 좌표를 상대값(0.0~1.0)으로 지정합니다. 0.0은 이미지의 왼쪽 가장자리를, 1.0은 오른쪽 가장자리를, 0.5는 가로 방향 중앙을 의미합니다. 크롭 영역은 절대 픽셀로 변환된 후 이 X 좌표를 중심으로 합니다. 실제 크롭 경계는 x_min = x_center - width/2, x_max = x_min + width로 계산되며, 모든 값은 이미지 너비를 기준으로 픽셀로 변환됩니다. 계산된 크롭이 이미지 경계를 벗어나면 크롭이 잘리거나, 크롭이 비어 있으면 None을 반환할 수 있습니다. 상대 좌표는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 위치를 추출합니다..

    • y_center (0에서 1 사이의 실수): 크롭 영역 중심점의 Y 좌표를 상대값(0.0~1.0)으로 지정합니다. 0.0은 이미지의 위쪽 가장자리를, 1.0은 아래쪽 가장자리를, 0.5는 세로 방향 중앙을 의미합니다. 크롭 영역은 절대 픽셀로 변환된 후 이 Y 좌표를 중심으로 합니다. 실제 크롭 경계는 y_min = y_center - height/2, y_max = y_min + height로 계산되며, 모든 값은 이미지 높이를 기준으로 픽셀로 변환됩니다. 계산된 크롭이 이미지 경계를 벗어나면 크롭이 잘리거나, 크롭이 비어 있으면 None을 반환할 수 있습니다. 상대 좌표는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 위치를 추출합니다..

    • 너비 (0에서 1 사이의 실수): 크롭 영역의 너비를 상대값(0.0~1.0)으로 지정합니다. 1.0은 이미지 너비의 100%, 0.5는 이미지 너비의 50% 등을 의미합니다. 이미지 너비에 대한 비율로 크롭의 가로 범위를 정의합니다. 크롭은 절대 픽셀로 변환된 후 x_center 좌표의 왼쪽과 오른쪽으로 각각 width/2 픽셀씩 확장됩니다. 총 크롭 너비는 이 상대값에 이미지 너비를 곱한 값과 같습니다. 계산된 크롭이 이미지 너비를 벗어나면 이미지 경계로 잘립니다. 상대 너비는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 너비를 추출합니다..

    • 높이 (0에서 1 사이의 실수): 크롭 영역의 높이를 상대값(0.0~1.0)으로 지정합니다. 1.0은 이미지 높이의 100%, 0.5는 이미지 높이의 50% 등을 의미합니다. 이미지 높이에 대한 비율로 크롭의 세로 범위를 정의합니다. 크롭은 절대 픽셀로 변환된 후 y_center 좌표의 위와 아래로 각각 height/2 픽셀씩 확장됩니다. 총 크롭 높이는 이 상대값에 이미지 높이를 곱한 값과 같습니다. 계산된 크롭이 이미지 높이를 벗어나면 이미지 경계로 잘립니다. 상대 높이는 서로 다른 이미지 크기에 맞게 조정되므로, 동일한 상대값은 어떤 크기의 이미지에서도 같은 비례 높이를 추출합니다..

  • 출력

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

예시 JSON 정의

마지막 업데이트

도움이 되었나요?