image_function
data.transform.image_function
RESAMPLE_PIL
module-attribute
RESAMPLE_CV2
module-attribute
RESAMPLE_TORCH
module-attribute
read_image_size
read_image_size(image: Union[Image, Tensor, ndarray]) -> ImageSizeType
image size: (W, H)
Source code in SaigeToolkit/data/transform/image_function.py
resize_image
resize_image(image: Union[Image, Tensor, ndarray], target_size: ImageSizeType, resampling: str = 'bilinear', use_cv2_for_numpy: bool = True) -> Union[Image, Tensor, ndarray]
이미지를 resize합니다.
Parameters:
-
image(Union[Image, Tensor, ndarray]) –image data
-
target_size(ImageSizeType) –[W, H]
-
resampling(str, default:'bilinear') –resampling method. Defaults to "bilinear".
-
use_cv2_for_numpy(bool, default:True) –use cv2 instead of PIL for faster numpy array image resizing. Defaults to True.
Returns:
-
Union[Image, Tensor, ndarray]–Union[Image.Image, torch.Tensor, np.ndarray]: resized image
Source code in SaigeToolkit/data/transform/image_function.py
resize_mask
resize_mask(mask: Union[Image, Tensor, ndarray], target_size: ImageSizeType) -> Union[Image, Tensor, ndarray]
mask 이미지를 resize합니다. (NEAREST resampling)
Parameters:
-
mask(Union[Image, Tensor, ndarray]) –mask image
-
target_size(ImageSizeType) –[W, H]
Returns:
-
Union[Image, Tensor, ndarray]–Union[Image.Image, torch.Tensor, np.ndarray]: resized mask image
Source code in SaigeToolkit/data/transform/image_function.py
resize_array
resize_array(array: Union[Tensor, ndarray], target_size: ImageSizeType, resampling: str = 'nearest') -> Union[Tensor, ndarray]
[HW, BHW]의 array를 resize합니다.
Parameters:
-
array(Union[Tensor, ndarray]) –array data [HW, BHW]
-
target_size(ImageSizeType) –[W, H]
-
resampling(str, default:'nearest') –resampling method. Defaults to "nearest".
Returns:
-
Union[Tensor, ndarray]–Union[torch.Tensor, np.ndarray]: resized array
Source code in SaigeToolkit/data/transform/image_function.py
crop
crop(image: Union[Image, Tensor, ndarray], coordinates: Union[List[int], Tuple[int, int, int, int]]) -> Union[Image, Tensor, ndarray]
이미지의 coordinates 좌표영역을 크롭합니다. coordinates가 이미지를 벗어나는 경우 zero padding 합니다.
Parameters:
-
image(Union[Image, Tensor, ndarray]) –image
-
coordinates(Union[List[int], Tuple[int, int, int, int]]) –[left, top, right, bottom]
Returns:
-
Union[Image, Tensor, ndarray]–Union[Image.Image, torch.Tensor, np.ndarray]: cropped image
Source code in SaigeToolkit/data/transform/image_function.py
add_constant_margin
add_constant_margin(image: Union[Image, Tensor, ndarray], left: int, top: int, right: int, bottom: int, value: Union[float, int]) -> Union[Image, Tensor, ndarray]
image에 left, top, right, bottom 만큼 constant value로 padding 합니다.
Parameters:
-
image(Union[Image, Tensor, ndarray]) –image
-
left(int) –image의 왼쪽 padding size 입니다.
-
top(int) –image의 위쪽 padding size 입니다.
-
right(int) –image의 오른쪽 padding size 입니다.
-
bottom(int) –image의 아래쪽 padding size 입니다.
-
value(Union[float, int]) –padding된 영역에 들어갈 value 입니다.
Source code in SaigeToolkit/data/transform/image_function.py
add_constant_margin_array
add_constant_margin_array(array: Union[Tensor, ndarray], left: int, top: int, right: int, bottom: int, value: Union[float, int]) -> Union[Tensor, ndarray]
array에 left, top, right, bottom 만큼 constant value로 padding 합니다.
Parameters:
-
array(Union[Tensor, ndarray]) –array data [HW, BHW]
-
left(int) –array의 왼쪽 padding size 입니다.
-
top(int) –array의 위쪽 padding size 입니다.
-
right(int) –array의 오른쪽 padding size 입니다.
-
bottom(int) –array의 아래쪽 padding size 입니다.
-
value(Union[float, int]) –padding된 영역에 들어갈 value 입니다.
Source code in SaigeToolkit/data/transform/image_function.py
fill_pixels_with_mask
fill_pixels_with_mask(image: Union[Image, ndarray], bool_mask: ndarray, value: Union[int, float] = 0, method: str = 'np_where') -> Union[Image, ndarray]
image 중 bool_mask=True인 픽셀들을 value로 채웁니다.
Parameters:
-
image(Union[Image, ndarray]) –image (HW or HWC)
-
bool_mask(ndarray) –boolean mask (HW)
-
value(Union[int, float], default:0) –. Defaults to 0.
Returns:
-
Union[Image, ndarray]–Union[Image.Image, np.ndarray]: 결과 이미지
Note
- image가 Image.Image인 경우, 결과 이미지도 Image.Image로 반환합니다.
- image의 값이 inplace로 변경됩니다. 값이 변경되지 않길 원한다면, copy를 해주세요.
Source code in SaigeToolkit/data/transform/image_function.py
to_numpy
Source code in SaigeToolkit/data/transform/image_function.py
to_pil
Source code in SaigeToolkit/data/transform/image_function.py
convert_image_mode
convert_image_mode(image: Union[Image, ndarray], mode: str, copy: bool = False) -> Union[Image, ndarray]
convert image mode
Parameters:
-
image(Union[Image, ndarray]) –image
-
mode(str) –"RGB" or "L"
-
copy(bool, default:False) –to copy data. Defaults to False.
Returns:
-
Union[Image, ndarray]–Union[Image.Image, np.ndarray]: converted image
Note
RGB -> L 변환 시 Image.Image와 np.ndarray 연산 결과가 다를 수 있음. (PIL과 cv2 에서 변환식은 L = R * 299/1000 + G * 587/1000 + B * 114/1000 로 동일하나 소숫점 처리 방식이 다름)