jax.image.scale_and_translate#

jax.image.scale_and_translate(image, shape, spatial_dims, scale, translation, method, antialias=True, precision=Precision.HIGHEST)[source]#

對影像套用縮放和位移。

透過使用對應於 method 的取樣方法,從輸入影像重新取樣產生形狀為 ‘shape’ 的新影像。對於 2D 影像,此操作會根據以下公式將輸入影像中的位置 (x, y) 轉換為輸出影像中的位置:

(x * scale[1] + translation[1], y * scale[0] + translation[0])

(請注意,反向扭曲用於產生取樣位置。)假設半中心像素,即整數位置 row, col 的像素具有座標 y, x = row + 0.5, col + 0.5,其他輸入影像維度也類似。

如果輸出位置(像素)映射到輸入邊界之外的輸入取樣位置,則輸出位置的值將設定為零。

method 參數預期下列其中一種調整大小方法

ResizeMethod.LINEAR"linear""bilinear""trilinear"

"triangle" 線性內插。如果 antialiasTrue,則在縮減取樣時使用三角形濾波器。

ResizeMethod.CUBIC"cubic""bicubic""tricubic"

立方內插,使用 Keys 立方核心。

ResizeMethod.LANCZOS3"lanczos3"

Lanczos 重新取樣,使用半徑為 3 的核心。

ResizeMethod.LANCZOS5"lanczos5"

Lanczos 重新取樣,使用半徑為 5 的核心。

參數:
  • image – 一個 JAX 陣列。

  • shape (core.Shape) – 輸出形狀,為整數序列,長度等於 image 的維度數。

  • spatial_dims (Sequence[int]) – 長度為 K 的元組,指定應套用傳遞的縮放和位移的空間維度。

  • scale – 一個 [K] 陣列,維度數與影像相同,包含要在每個維度中套用的縮放。

  • translation – 一個 [K] 陣列,維度數與影像相同,包含要在每個維度中套用的位移。

  • method (str | ResizeMethod) – 要使用的調整大小方法;可以是 ResizeMethod 實例或字串。可用方法包括:LINEAR、LANCZOS3、LANCZOS5、CUBIC。

  • antialias (bool) – 縮減取樣時是否應使用抗鋸齒濾波器?預設為 True。升取樣時無效。

傳回:

已縮放和位移的影像。