Может ли кто-нибудь помочь мне разобраться, что происходит в моем изображении с автоматическим обрезкой script? У меня есть png-изображение с большой прозрачной областью/пространством. Я хотел бы иметь возможность автоматически обрезать это пространство и оставить необходимое. Исходное изображение имеет квадрат холста, оптимально он будет прямоугольным, инкапсулируя только молекулу.
здесь исходное изображение:
Выполняя некоторые поисковые запросы, я столкнулся с кодом PIL/python, который, как сообщается, работал, однако в моих руках, при запуске кода ниже перегружает изображение.
import Image
import sys
image=Image.open('L_2d.png')
image.load()
imageSize = image.size
imageBox = image.getbbox()
imageComponents = image.split()
rgbImage = Image.new("RGB", imageSize, (0,0,0))
rgbImage.paste(image, mask=imageComponents[3])
croppedBox = rgbImage.getbbox()
print imageBox
print croppedBox
if imageBox != croppedBox:
cropped=image.crop(croppedBox)
print 'L_2d.png:', "Size:", imageSize, "New Size:",croppedBox
cropped.save('L_2d_cropped.png')
вывод следующий:
Может ли кто-нибудь более знакомый с обработкой изображений /PLI помочь мне разобраться с проблемой?