вставить части изображения - Python, модуль PIL - PullRequest
2 голосов
/ 02 апреля 2012

Я хочу разделить две картинки (рис. A и рис. B - одинакового размера) на верхнюю и нижнюю половины (A-Up, A-Down, B-Up, B-Down), а затем создать новые изображения: A -up + B-Down и наоборот (имеется в виду: я хочу получить новую картинку, в которой верхняя половина фактически является верхней из A, а нижняя половина - из B). Я написал следующую функцию в Python, используя модуль PIL:

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 

Я не знаю, как вставить новые детали. Любая помощь будет очень ценной.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Вы должны создать новое изображение размером с обе части:

im = Image.new(mode, size)

Затем вставьте разделенные изображения:

im.paste(image, box)

Подробнее см. Документацию: http://effbot.org/imagingbook/image.htm

1 голос
/ 02 апреля 2012

Это на самом деле намного проще, если вы сохраните исходное полноразмерное изображение и вставите в него новую верхнюю половину.

box_top = (0, 0, x, y / 2)
top_part = im1.crop(box_top)
result = im2.copy()
result.paste(top_part, box_top)
...