Найти тему
Около IT

Скрипт на питоне для обработки фото

Меняем фон фото на белый, делаем ее черно белым и размером 3\4.

Для начала, устанавливаем библиотеку Pillow:

pip install pillow rembg

Код:

import os
from PIL import Image, ImageOps
import rembg
import io


def process_image(input_path, output_path):
# Проверка существования входного файла
if not os.path.exists(input_path):
raise FileNotFoundError(f"Input file not found: {input_path}")

# Шаг 1: Удаление фона
with open(input_path, 'rb') as input_file:
input_image = input_file.read()

result = rembg.remove(input_image)
img = Image.open(io.BytesIO(result)).convert("RGBA")

# Шаг 2: Замена фона на белый
width, height = img.size
white_bg = Image.new("RGBA", img.size, (255, 255, 255, 255))
white_bg.paste(img, (0, 0), img)
img = white_bg.convert("RGB")

# Шаг 3: Преобразование в черно-белое изображение
bw_img = ImageOps.grayscale(img)

# Шаг 4: Обрезка до размера 3x4 см (при 300 DPI это 354x472 пикселя)
target_size = (354, 472)
bw_img = ImageOps.fit(bw_img, target_size, Image.Resampling.LANCZOS)

# Сохранение результата
bw_img.save(output_path)


# Пример использования
input_image_path = os.path.join('Путь до файла', 'Имя файла')
output_image_path = os.path.join('Путь до файла', 'output.jpg')
process_image(input_image_path, output_image_path)