https://github.com/cj-mills/cjm-pil-utils
Some PIL utility functions I frequently use.
https://github.com/cj-mills/cjm-pil-utils
Last synced: about 2 months ago
JSON representation
Some PIL utility functions I frequently use.
- Host: GitHub
- URL: https://github.com/cj-mills/cjm-pil-utils
- Owner: cj-mills
- License: mit
- Created: 2023-01-24T00:16:28.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-15T18:56:14.000Z (almost 2 years ago)
- Last Synced: 2025-09-30T08:12:58.764Z (2 months ago)
- Language: Jupyter Notebook
- Homepage: https://cj-mills.github.io/cjm-pil-utils/
- Size: 4.31 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cjm-pil-utils
## Install
``` sh
pip install cjm_pil_utils
```
## How to use
### get_img_files
``` python
from cjm_pil_utils.core import get_img_files
from pathlib import Path
```
``` python
img_dir = Path('../images/')
img_paths = get_img_files(img_dir)
img_paths
```
[PosixPath('../images/cat.jpg'), PosixPath('../images/depth-cat.png')]
### resize_img
``` python
from cjm_pil_utils.core import resize_img
from PIL import Image # For working with images
```
``` python
img_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
``` python
from cjm_pil_utils.core import stack_imgs
```
``` python
stacked_imgs = stack_imgs([resized_img, resized_img])
print(f"Stacked Image Size: {stacked_imgs.size}")
```
Stacked Image Size: (576, 768)
### avg_images
``` python
from cjm_pil_utils.core import avg_images
```
``` python
img_1, img_2 = (Image.open(path) for path in img_paths)
avg_img = avg_images(img_1, img_2, 0.5)
```
### crop_square
``` python
from cjm_pil_utils.core import crop_square
```
``` python
crop_square(src_img).size
```
(512, 512)