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를 생성하는 빌더입니다. |
공개 방법
RectF | inverseTransform (RectF 각형, int inputImageHeight, int inputImageWidth) 결과 이미지의 좌표계에서 다시 입력 이미지의 좌표계로 직사각형을 변환합니다. |
포인트 F | inverseTransform (PointF 포인트, int inputImageHeight, int inputImageWidth) 결과 이미지의 좌표계에서 다시 입력 이미지의 좌표계로 점을 변환합니다. |
텐서이미지 | |
무효의 | updateNumberOfRotations (int k) 이 ImageProcessor 의 첫 번째 Rot90Op 에 대한 회전 수를 업데이트합니다. |
동기화된 무효 | updateNumberOfRotations (int k, int 발생) |
상속된 메서드
공개 방법
공개 RectF inverseTransform (RectF ect, int inputImageHeight, int inputImageWidth)
결과 이미지의 좌표계에서 다시 입력 이미지의 좌표계로 직사각형을 변환합니다.
매개변수
직사각형 | 결과 좌표계의 직사각형. |
---|---|
입력이미지 높이 | 입력 이미지의 높이. |
입력이미지 너비 | 입력 이미지의 너비. |
보고
- 입력 이미지의 좌표계 좌표를 사용하는 직사각형입니다.
공개 PointF inverseTransform (PointF 포인트, int inputImageHeight, int inputImageWidth)
결과 이미지의 좌표계에서 다시 입력 이미지의 좌표계로 점을 변환합니다.
매개변수
가리키다 | 결과 좌표계의 점. |
---|---|
입력이미지 높이 | 입력 이미지의 높이. |
입력이미지 너비 | 입력 이미지의 너비. |
보고
- 입력 이미지의 좌표계에서 좌표가 있는 점입니다.
공개 TensorImage 프로세스 ( TensorImage 이미지)
준비된 TensorOperator
사용하여 TensorImage
객체를 처리합니다.
매개변수
영상 |
---|
던지기
IllegalArgumentException | 이미지가 어떤 작업에서도 지원되지 않는 경우. |
---|
공개 무효 updateNumberOfRotations (int k)
이 ImageProcessor
의 첫 번째 Rot90Op
에 대한 회전 수를 업데이트합니다.
경고: 이 방법은 스레드로부터 안전 하지 않습니다 . 회전 수 업데이트 후 이미지 처리( SequentialProcessor.process(T)
사용)는 추가 동기화를 통해 동시 액세스로부터 보호되어야 합니다.
매개변수
케이 | 회전수 |
---|
던지기
IllegalStateException | 이 ImageProcessor 에 Rot90Op 추가되지 않은 경우 |
---|
공개 동기화 무효 updateNumberOfRotations (int k, int 발생)
이 ImageProcessor
에서 occurrence
으로 지정된 Rot90Op
의 회전 수를 업데이트합니다.
경고: 이 방법은 스레드로부터 안전 하지 않습니다 . 회전 수 업데이트 후 이미지 처리( SequentialProcessor.process(T)
사용)는 추가 동기화를 통해 동시 액세스로부터 보호되어야 합니다.
매개변수
케이 | 회전수 |
---|---|
발생 | 이 ImageProcessor 에 있는 특정 Rot90Op 의 인덱스입니다. 예를 들어 두 번째 Rot90Op 업데이트해야 하는 경우 occurrence 1로 설정해야 합니다. |
던지기
IndexOutOfBoundsException | occurrence 이 음수이거나 이 ImageProcessor 의 Rot90Op 수보다 작지 않은 경우 |
---|---|
IllegalStateException | 이 ImageProcessor 에 Rot90Op 추가되지 않은 경우 |