Ich möchte zwei Bilder (Bild A und Bild B - beide gleich groß) in Up und Down Halfs (A-Up, A-Down, B-Up, B-Down), und dann neue Bilder erstellen: A-up + B-Down und umgekehrt (was bedeutet: Ich möchte ein neues Bild haben, dessen obere Hälfte tatsächlich die obere von A und die untere Hälfte von B ist). Ich schrieb die nächste Funktion in Python, PIL-Modul:Paste Teile des Bildes - Python, PIL-Modul
import Image
def SplitFunction(BMP):
im = Image.open(BMP)
[x,y]=im.size
box1=(0,0,x,y/2)
box2=(0,y/2+1,x,y)
region1 = im.crop(box1)
region2 = im.crop(box2)
region1.show()
region2.show()
return [region1,region2]
path1='c:/movie2frames/BMPs1/stim/1.BMP'
path2='c:/movie2frames/BMPs1/stim/334.BMP'
[r1a,r2a]=SplitFunction(path1)
[r1b,r2b]=SplitFunction(path2)
#end program
Ich weiß nicht, wie die neuen Teile einzufügen. Jede Hilfe wäre sehr geschätzt.
danke. Ich verstehe die Logik (und es ist natürlich viel einfacher), aber aus irgendeinem Grund bekomme ich einen Fehler beim Einfügen Befehl, dass die Bilder nicht übereinstimmen [obwohl sie ursprünglich die gleiche Größe haben]. natürlich habe ich im2.open (...) hinzugefügt. irgendwelche Ideen? – user552231
@ user552231, stellen Sie sicher, dass sie den gleichen Modus sind. Verwenden Sie die 'convert'-Funktion, um bei Bedarf in den' RGB'-Modus zu konvertieren. –
danke. aber das scheint nicht das Problem zu sein. Ich denke, ich bin alleine mit diesem Fehler .. Ich bin die neue Funktion beifügen [aber ich denke, es ist nicht wirklich lesbar: Import Image def SplitFunction (BMP1, BMP2): im1 = Bild.open (BMP1) im2 = Image.open (BMP2) [x, y] = im1.size box_top = (0, 0, x, y/2) = top_part im1.crop (box_top) result = im2.copy() Ergebnis .paste (IM1, box_top) return result path1 = 'c: /movie2frames/BMPs1/stim/1.BMP' path2 = 'c: /movie2frames/BMPs1/stim/334.BMP' SplitFunction (path1 , path2) – user552231