from cjm_pil_utils.core import get_img_files
from pathlib import Pathcjm-pil-utils
Some PIL utility functions I frequently use.
Install
pip install cjm_pil_utilsHow to use
get_img_files
img_dir = Path('../images/')
img_paths = get_img_files(img_dir)
img_paths[PosixPath('../images/cat.jpg'), PosixPath('../images/depth-cat.png')]
resize_img
from cjm_pil_utils.core import resize_img
from PIL import Image # For working with imagesimg_path = img_paths[0]
src_img = Image.open(img_path).convert('RGB')
print(f"Image Size: {src_img.size}")
resized_img = resize_img(src_img, target_sz=384, divisor=32)
print(f"New Image Size: {resized_img.size}")Image Size: (768, 512)
New Image Size: (576, 384)
stack_imgs
from cjm_pil_utils.core import stack_imgsstacked_imgs = stack_imgs([resized_img, resized_img])
print(f"Stacked Image Size: {stacked_imgs.size}")Stacked Image Size: (576, 768)
avg_images
from cjm_pil_utils.core import avg_imagesimg_1, img_2 = (Image.open(path) for path in img_paths)
avg_img = avg_images(img_1, img_2, 0.5)crop_square
from cjm_pil_utils.core import crop_squarecrop_square(src_img).size(512, 512)