tile cannot extend outside image

问题出现在使用crop裁切函数时:

from PIL import Image
img = Image.open(img_path)
box = (left, upper, right, lower)
region = img.crop(box)
region.save('./crop_imgs/crop.jpg')

当时的图像大小为480*675,box为(-11, 184, 136, 136)。186,136都没有超出图像的大小。

print(img.size) # (480, 675)

本来以为是-11的问题,结果发现[-11, 184]这个点是可以在图像中找到的。如下图中红色*标记所示。

tile cannot extend outside image_第1张图片

问题其实很好解决,如下图所示是图像坐标系。它与数学意义上的坐标系不同,这也就意味着upper和lower都颠倒了。修改box中的(left, upper, right, lower),确保upper的值小于lower的值即可。

tile cannot extend outside image_第2张图片 

 

你可能感兴趣的:(python)