BoundingBoxUtil

공개 최종 클래스 BoundingBoxUtil

경계 상자를 나타내는 값을 직사각형으로 변환하는 도우미 클래스입니다.

이 클래스는 정적 함수를 제공하여 다양한 유형의 구성에서 경계 상자를 RectF로 만듭니다.

일반적으로 경계 상자는 4개의 부동 소수점 값으로 표현될 수 있지만 값은 다양한 방식으로 해석될 수 있습니다. 이제 3개의 BoundingBoxUtil.Type 구성이 지원되며 각 유형의 요소 순서도 구성할 수 있습니다.

중첩된 클래스

enum BoundingBoxUtil.CoordinateType 좌표가 실제 픽셀인지 상대 비율인지를 나타냅니다. 
enum BoundingBoxUtil.Type 경계 상자가 표시되는 방식을 나타냅니다. 

공개 메서드

정적 List<RectF>
convert(TensorBuffer tensor, int[] valueIndex, int boundsBoxAxis, BoundingBoxUtil.Type type, BoundingBoxUtil.CoordinateType CoordinateType, int height, int width)
경계 상자를 나타내는 TensorBuffer에서 경계 상자 목록을 만듭니다.

상속된 메서드

공개 메서드

TensorBufferBoundingBoxUtil.TypeBoundingBoxUtil.CoordinateType

경계 상자를 나타내는 TensorBuffer에서 경계 상자 목록을 만듭니다.

매개변수
텐서 몇 개의 상자를 나타내는 데이터를 보유합니다.
valueIndex 각 경계 상자 유형에 정의된 요소의 순서를 나타냅니다. 빈 색인 배열은 각 경계 상자 유형의 기본 순서를 나타냅니다. 예를 들어 기본 순서 {left, top, right, bottom}을 {left, top, right, bottom}에 표시하려면 색인이 {0, 1, 2, 3}이어야 합니다. {left, right, top, bottom}의 순서를 나타내려면 {0, 2, 1, 3}의 순으로 해야 합니다.

색인 배열을 모든 경계 상자 유형에 적용하여 해당하는 기본 요소의 순서를 조정할 수 있습니다.

boundingBoxAxis 는 경계 상자를 나타내는 크기의 색인을 지정합니다. 이 크기의 크기는 4여야 합니다. 색인은 0부터 시작합니다. 예를 들어 텐서의 형태가 4x10인 경우 경계 상자의 축은 0이 될 수 있습니다. 음수 축도 지원됩니다. -1은 마지막 축을, -2는 두 번째 축을 지정합니다. 기타 등등. 도형 10x4의 경우 축은 1 (또는 이와 동등하게 -1)이 될 수 있습니다.
유형 값을 상자로 변환하는 방법을 정의합니다. BoundingBoxUtil.Type 보기
coordinateType 는 값이 좌표로 해석되는 방식을 정의합니다. BoundingBoxUtil.CoordinateType 보기
상자가 속한 이미지의 높이입니다. coordinateTypeBoundingBoxUtil.CoordinateType.RATIO일 때만 효과가 있음
너비 상자가 속한 이미지의 너비입니다. coordinateTypeBoundingBoxUtil.CoordinateType.RATIO일 때만 효과가 있음
반환 값
  • tensor가 나타내는 경계 상자 목록입니다. boundingBoxAxis을(를) 제외한 모든 크기가 정렬을 유지한 상태로 축소됩니다. 예를 들어 도형이 {1, 4, 10, 2} 및 boundingBoxAxis = 1tensor가 주어지면 결과는 경계 상자 20개로 구성된 목록이 됩니다.
생성 값
IllegalArgumentException 경계 상자 크기 (boundingBoxAxis로 설정됨)가 4가 아닌 경우
IllegalArgumentException boundingBoxAxis(-(D+1), D)에 없는 경우, 여기서 Dtensor의 차원 수입니다.
IllegalArgumentException tensorDataType.FLOAT32 이외의 데이터 유형인 경우