Kann mir jemand helfen, herauszufinden, was in meinem Bild Auto-Cropping-Skript passiert? Ich habe ein PNG-Bild mit einem großen transparenten Bereich/Raum. Ich würde gerne in der Lage sein, diesen Raum automatisch zu beschneiden und das Wesentliche zu verlassen. Ursprüngliches Bild hat eine quadratische Leinwand, optimal wäre es rechteckig, nur das Molekül einkapselnd.Automatisches Zuschneiden eines Bildes mit Python/PIL
hier ist das Originalbild:
einige googeln tun i über PIL/Python-Code kam, die jedoch in den Händen berichtet wurde, zu arbeiten, den Code über Kulturen läuft das Bild.
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')
der Ausgang ist dies:
Kann jemand besser vertraut mit Bildverarbeitung/PLI kann mir die Frage helfen, herauszufinden?
'(...) CropBox [2]: CropBox [3] 1,:]' <- +1 für dieses Lächeln :) ich Python neu bin ...: P – cubuspl42
Diese Methode funktioniert mit Python3, wenn 'Image' als' aus PIL-Import Image' importiert wird (nachdem ['PILLOW'] (https://python-pillow.org/) für Python3 installiert wurde). – ryanjdillon
Das funktioniert wie ein Zauber für RGB- und RGBA-Bilder, funktioniert aber nicht mit P-Modus-Bildern. Können Sie uns bitte beraten? – user12345