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);
 

警告:使用 updateNumberOfRotations(int) 時,ImageProcessor 的執行個體「無法」確保執行緒安全。更新旋轉次數,然後再處理圖片 (使用 SequentialProcessor.process(T)) 時,必須受到保護,不會受到並行存取的影響。建議您為每個執行緒建立個別的 ImageProcessor 執行個體。如果多個執行緒同時存取 ImageProcessor,就必須在外部同步處理。

巢狀類別

類別 ImageProcessor.Builder 用於建立 ImageProcessor 的建構工具,稍後可執行。

公用方法

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
將結果圖片的座標系統轉換矩形,轉回其中一張輸入圖片。
PointF
inverseTransform(PointF 點、int inputImageHeight、int inputImageWidth)
將結果圖片的座標系統,轉換為其中一張輸入圖片。
TensorImage
process(TensorImage 圖片)
使用預先準備的 TensorOperator 處理 TensorImage 物件。
void
updateNumberOfRotations(int k)
更新此 ImageProcessor 中第一個 Rot90Op 的旋轉次數。
已同步 void
updateNumberOfRotations(int k、int 出現)
更新這個 ImageProcessoroccurrence 指定的 Rot90Op 的旋轉次數。

繼承的方法

公用方法

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

將結果圖片的座標系統轉換矩形,轉回其中一張輸入圖片。

參數
rect 傳回矩形值。
inputImageHeight 都與輸入圖片的高度有關
inputImageWidth 都與輸入圖片的寬度相等
傳回
  • 帶有輸入圖片座標系統座標的矩形。

public PointF inverseTransform (PointF Point、int inputImageHeight、int inputImageWidth)

將結果圖片的座標系統,轉換為其中一張輸入圖片。

參數
擷取自結果座標系統的點。
inputImageHeight 都與輸入圖片的高度有關
inputImageWidth 都與輸入圖片的寬度相等
傳回
  • 帶有輸入圖片座標系統座標的點。

公開 TensorImage process (TensorImage 映像檔)

使用預先準備的 TensorOperator 處理 TensorImage 物件。

參數
圖片
擲回
IllegalArgumentException 表示任何操作不支援該圖片。

public void updateNumberOfRotations (int k)

更新此 ImageProcessor 中第一個 Rot90Op 的旋轉次數。

警告:這個方法「不」安全可靠。更新旋轉次數並處理圖片 (使用 SequentialProcessor.process(T)) 時,必須防止搭配額外同步處理作業並行存取。

參數
k 旋轉次數
擲回
IllegalStateException 如果 Rot90Op 尚未加入此 ImageProcessor

public 同步 void updateNumberOfRotations (int k, int generaterence)

更新這個 ImageProcessoroccurrence 指定的 Rot90Op 旋轉次數。

警告:這個方法「不」安全可靠。更新旋轉次數並處理圖片 (使用 SequentialProcessor.process(T)) 時,必須防止搭配額外同步處理作業並行存取。

參數
k 旋轉次數
這個 ImageProcessor 中垂直 Rot90Op 的索引。舉例來說,如果第二個 Rot90Op 需要更新,occurrence 應設為 1。
擲回
IndexOutOfBoundsException 如果 occurrence 為負數,或不小於這個 ImageProcessor 中的 Rot90Op 數量
IllegalStateException 如果 Rot90Op 尚未加入此 ImageProcessor