|
""" |
|
Source url: https://github.com/OPHoperHPO/image-background-remove-tool |
|
Author: Nikita Selin (OPHoperHPO)[https://github.com/OPHoperHPO]. |
|
License: Apache License 2.0 |
|
""" |
|
from pathlib import Path |
|
from PIL import Image |
|
import warnings |
|
from typing import Optional |
|
|
|
|
|
def save_file(output: Optional[Path], input_path: Path, image: Image.Image): |
|
""" |
|
Saves an image to the file system |
|
|
|
Args: |
|
output: Output path [dir or end file] |
|
input_path: Input path of the image |
|
image: Image to be saved. |
|
""" |
|
if isinstance(output, Path) and str(output) != "none": |
|
if output.is_dir() and output.exists(): |
|
image.save(output.joinpath(input_path.with_suffix(".png").name)) |
|
elif output.suffix != "": |
|
if output.suffix != ".png": |
|
warnings.warn( |
|
f"Only export with .png extension is supported! Your {output.suffix}" |
|
f" extension will be ignored and replaced with .png!" |
|
) |
|
image.save(output.with_suffix(".png")) |
|
else: |
|
raise ValueError("Wrong output path!") |
|
elif output is None or str(output) == "none": |
|
image.save( |
|
input_path.with_name( |
|
input_path.stem.split(".")[0] + "_bg_removed" |
|
).with_suffix(".png") |
|
) |
|
|