Warum bekomme ich die Fliesen nicht erweitern, außerhalb der Bild-Fehler beim split-Bild in der Hälfte
Mein Programm soll, nehmen Sie ein Bild und teilen Sie es senkrecht in n Abschnitte, speichern Sie die Teile als einzelne png-Dateien. Es sollte in etwa so Aussehen für 2 Abschnitte
Ich habe Probleme jetzt, was ich bekommen hab ist die erste Hälfte von meinem Bild richtig übernommen, und dann bin ich immer die folgende Fehlermeldung, wenn er versucht, die Ernte in der zweiten Hälfte:
SystemError: tile cannot extend outside image
Das Bild, mit dem ich arbeite hat
- Breite: 1180px
- Höhe: 842px
Der Rechtecke berechnet es zu beschneiden ist:
(0.0, 0, 590.0, 842)
- das funktioniert richtig(590.0, 0, 590.0, 842)
- diese stürzt das Programm
Meine Fragen: Warum ist diese sub Rechteck out of bounds und wie ich es beheben kann richtig Scheibe mein Bild in der Hälfte wie im Bild gezeigt?
from PIL import Image, ImageFilter
im = Image.open("image.png")
width, height = im.size
numberOfSplits = 2
splitDist = width / numberOfSplits #how many pixels each crop should be in width
print(width, height) #prints 1180, 842
for i in range(0, numberOfSplits):
x = splitDist * i
y = 0
w = splitDist
h = height
print(x, y, w, h)
#first run through prints 0.0, 0, 590.0, 842
#second run through prints 590.0, 0, 590.0, 842 then crashes
croppedImg = im.crop((x,y,w,h)) #crop the rectangle into my x,y,w,h
croppedImg.save("images\\new-img" + str(i) + ".png") #save to file
InformationsquelleAutor Keatinge | 2016-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle Koordinaten der box (x, y, w, h) sind, gemessen von der oberen linken Ecke des Bildes.
also die Koordinaten der box sein soll (x, y, w+x, h+y). Machen Sie die folgenden änderungen am code.
InformationsquelleAutor supreeth manyam