ImageProcessor

공개 클래스 ImageProcessor

ImageProcessor는 TensorImage의 전처리와 후처리를 위한 도우미 클래스입니다. ImageOperator 체인을 실행하여 TensorImage를 다른 항목으로 변환할 수 있습니다.

사용 예:

   ImageProcessor processor = new ImageProcessor.Builder()
       .add(new ResizeOp(224, 224, ResizeMethod.NEAREST_NEIGHBOR)
       .add(new Rot90Op())
       .add(new NormalizeOp(127.5f, 127.5f))
       .build();
   TensorImage anotherTensorImage = processor.process(tensorImage);
 

경고: ImageProcessor 인스턴스는 updateNumberOfRotations(int)에서 스레드로부터 안전하지 않습니다. 회전 수를 업데이트한 후 이미지 처리 (SequentialProcessor.process(T) 사용)는 동시 액세스로부터 보호되어야 합니다. 스레드마다 별도의 ImageProcessor 인스턴스를 만드는 것이 좋습니다. 여러 스레드가 동시에 ImageProcessor에 액세스하는 경우 외부에서 동기화해야 합니다.

중첩된 클래스

클래스 ImageProcessor.Builder ImageProcessor를 만드는 빌더입니다. 나중에 실행할 수 있습니다.

공개 메서드

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
직사각형을 결과 이미지의 좌표 시스템에서 입력 이미지 중 하나로 다시 변환합니다.
PointF
inverseTransform(PointF point, int inputImageHeight, int inputImageWidth)
결과 이미지의 좌표계에서 입력 이미지 중 하나로 점을 다시 변환합니다.
TensorImage
process(TensorImage 이미지)
준비된 TensorOperatorTensorImage 객체를 처리합니다.
void
updateNumberOfRotations(int k)
ImageProcessor에서 첫 번째 Rot90Op의 회전 수를 업데이트합니다.
동기화 void
updateNumberOfRotations(정수 k, int 발생 횟수)
ImageProcessor에서 occurrence로 지정된 Rot90Op의 회전 수를 업데이트합니다.

상속된 메서드

공개 메서드

public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)

직사각형을 결과 이미지의 좌표 시스템에서 입력 이미지 중 하나로 다시 변환합니다.

매개변수
rect 직사각형을 반환합니다.
inputImageHeight 입력 이미지의 높이입니다.
inputImageWidth 입력 이미지의 너비입니다.
반환 값
  • 입력 이미지의 좌표계로부터 좌표가 있는 직사각형입니다.

public PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)

결과 이미지의 좌표계에서 입력 이미지 중 하나로 점을 다시 변환합니다.

매개변수
point 결과 좌표 시스템의 지점을 반환합니다.
inputImageHeight 입력 이미지의 높이입니다.
inputImageWidth 입력 이미지의 너비입니다.
반환 값
  • 입력 이미지의 좌표계 좌표가 있는 점을 반환합니다.

공개 TensorImage 프로세스 (TensorImage 이미지)

준비된 TensorOperatorTensorImage 객체를 처리합니다.

매개변수
이미지
생성 값
IllegalArgumentException 를 반환합니다.

public void updateNumberOfRotations (int k)

ImageProcessor에서 첫 번째 Rot90Op의 회전 수를 업데이트합니다.

경고: 이 메서드는 스레드로부터 안전하지 않습니다. 회전 수를 업데이트한 후 이미지 처리 (SequentialProcessor.process(T) 사용)는 추가 동기화를 통한 동시 액세스로부터 보호되어야 합니다.

매개변수
k 회전 횟수
생성 값
IllegalStateException Rot90Op이(가) 이 ImageProcessor에 추가되지 않은 경우

public synced void updateNumberOfRotations (int k, int 발주)

ImageProcessor에서 occurrence로 지정된 Rot90Op의 회전 수를 업데이트합니다.

경고: 이 메서드는 스레드로부터 안전하지 않습니다. 회전 수를 업데이트한 후 이미지 처리 (SequentialProcessor.process(T) 사용)는 추가 동기화를 통한 동시 액세스로부터 보호되어야 합니다.

매개변수
k 회전 횟수
일치하는 항목 ImageProcessor에서 상세 범위 Rot90Op의 색인입니다. 예를 들어 두 번째 Rot90Op를 업데이트해야 한다면 occurrence를 1로 설정해야 합니다.
생성 값
IndexOutOfBoundsException occurrence가 음수이거나 이 ImageProcessorRot90Op 수보다 작지 않은 경우
IllegalStateException Rot90Op이(가) 이 ImageProcessor에 추가되지 않은 경우