Я бы попытался обрезать ROI, а затем поместить его в img, который является черным прямоугольником. В Подушке это очень легко сделать.
, поскольку у меня нет изображений лиц, сложно воспроизвести ваш код. Я буду использовать какое-то случайное изображение, но оно должно выглядеть примерно так:
Я поставил синий цвет только для того, чтобы выделить фон, но это просто вопрос, чтобы изменить его на любой цвет, который вы хотите
from PIL import Image
img = Image.open('watch.jpeg', 'r')
img_w, img_h = img.size
left = img_w/8
top = img_h/8
right = 3 * img_w/8
bottom = 3 * img_h/8
cropped_img = img.crop((left, top, right, bottom))
cropped_img.save("cropped.png")
background = Image.new('RGB', (1440, 900), (0, 0, 255))
bg_w, bg_h = background.size
offset = ((bg_w - img_w) // 2, (bg_h - img_h) // 2)
background.paste(cropped_img, offset)
background.save('out.png')
входное изображение :
выходное изображение :