공개 최종 클래스 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 보기 |
키 | 상자가 속한 이미지의 높이입니다. coordinateType 가 BoundingBoxUtil.CoordinateType.RATIO 일 때만 효과가 있음 |
너비 | 상자가 속한 이미지의 너비입니다. coordinateType 가 BoundingBoxUtil.CoordinateType.RATIO 일 때만 효과가 있음 |
반환 값
tensor
가 나타내는 경계 상자 목록입니다.boundingBoxAxis
을(를) 제외한 모든 크기가 정렬을 유지한 상태로 축소됩니다. 예를 들어 도형이 {1, 4, 10, 2} 및boundingBoxAxis = 1
인tensor
가 주어지면 결과는 경계 상자 20개로 구성된 목록이 됩니다.
생성 값
IllegalArgumentException | 경계 상자 크기 (boundingBoxAxis 로 설정됨)가 4가 아닌 경우 |
---|---|
IllegalArgumentException | boundingBoxAxis 가 (-(D+1), D) 에 없는 경우, 여기서 D 는 tensor 의 차원 수입니다. |
IllegalArgumentException | tensor 가 DataType.FLOAT32 이외의 데이터 유형인 경우
|