我需要帮助。 我正在尝试使用Python Pillow库选择并裁剪两个图像的重叠区域。
我有两张图片的左上角像素坐标。有了这些,我可以找出哪一个位于另一个之上。
我写了一个函数,将两个图像作为参数:
def function(img1, img2):
x1 = 223 #x coordinate of the first image
y1 = 197 #y coordinate of the first image
x2 = 255 #x coordinate of the second image
y2 = 197 #y coordinate of the second image
dX = x1 - x2
dY = y1 - y2
if y1 <= y2: #if the first image is above the other
upper = img1
lower = img2
flag = False
else:
upper = img2
lower = img1
flag = True
if dX <= 0: #if the lower image is on the left
box = (abs(dX), abs(dY), upper.size[0], upper.size[1])
a = upper.crop(box)
box = (0, 0, upper.size[0] - abs(dX), upper.size[1] - abs(dY))
b = lower.crop(box)
else:
box = (0, abs(dY), lower.size[0] - abs(dX), upper.size[1])
a = upper.crop(box)
box = (abs(dX), 0, lower.size[0], upper.size[1] - abs(dY))
b = lower.crop(box)
if flag:
return b,a #switch the two images again
else:
return a,b
我肯定知道结果是错的(这是学校作业)。 谢谢你的帮助。
答案 0 :(得分:0)
首先,我不明白你的意思是一张图片在“另一张”之上(不应该是z位置吗?),但请看一下:{{3} },第一个答案可能是一个好的领导。 :)