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"
線性內插。如果antialias
為True
,則在縮減取樣時使用三角形濾波器。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
。升取樣時無效。
- 傳回:
已縮放和位移的影像。