47

かなり高解像度の画像を切り取り、結果を保存して、完成したことを確認しようとしています。ただし、 save メソッドの使用方法に関係なく、次のエラーが発生し続けます。SystemError: tile cannot extend outside image

from PIL import Image

# size is width/height
img = Image.open('0_388_image1.jpeg')
box = (2407, 804, 71, 796)
area = img.crop(box)

area.save('cropped_0_388_image1', 'jpeg')
output.close()
4

2 に答える 2

15

これを試して:

画像をトリミングするのは簡単なコードで、魔法のように機能します ;)

import Image

def crop_image(input_image, output_image, start_x, start_y, width, height):
    """Pass input name image, output name image, x coordinate to start croping, y coordinate to start croping, width to crop, height to crop """
    input_img = Image.open(input_image)
    box = (start_x, start_y, start_x + width, start_y + height)
    output_img = input_img.crop(box)
    output_img.save(output_image +".png")

def main():
    crop_image("Input.png","output", 0, 0, 1280, 399)

if __name__ == '__main__': main()

この場合、入力画像は 1280 x 800 ピクセルで、トリミングされた画像は左上隅から 1280 x 399 ピクセルです。

于 2013-07-15T11:28:06.453 に答える