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 | |
void |
updateNumberOfRotations(int k)
更新此
ImageProcessor 中第一個 Rot90Op 的旋轉次數。 |
已同步 void |
updateNumberOfRotations(int k、int 出現)
|
繼承的方法
公用方法
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 映像檔)
public void updateNumberOfRotations (int k)
更新此 ImageProcessor
中第一個 Rot90Op
的旋轉次數。
警告:這個方法「不」安全可靠。更新旋轉次數並處理圖片 (使用 SequentialProcessor.process(T)
) 時,必須防止搭配額外同步處理作業並行存取。
參數
k | 旋轉次數 |
---|
擲回
IllegalStateException | 如果 Rot90Op 尚未加入此 ImageProcessor
|
---|
public 同步 void updateNumberOfRotations (int k, int generaterence)
更新這個 ImageProcessor
中 occurrence
指定的 Rot90Op
旋轉次數。
警告:這個方法「不」安全可靠。更新旋轉次數並處理圖片 (使用 SequentialProcessor.process(T)
) 時,必須防止搭配額外同步處理作業並行存取。
參數
k | 旋轉次數 |
---|---|
次 | 這個 ImageProcessor 中垂直 Rot90Op 的索引。舉例來說,如果第二個 Rot90Op 需要更新,occurrence 應設為 1。 |
擲回
IndexOutOfBoundsException | 如果 occurrence 為負數,或不小於這個 ImageProcessor 中的 Rot90Op 數量 |
---|---|
IllegalStateException | 如果 Rot90Op 尚未加入此 ImageProcessor
|