我遇到了一个奇怪的问题。以下代码将过早地结束我的脚本。没有异常抛出,只是悄悄地重置shell。
img = Image.open(file_name)
crop_box = (4, 18, 630, 464)
img = img.crop(crop_box)
arr = numpy.asarray(img, int)
然而,如果我将其更改为使用不同的变量,那么它会完美运行。
img = Image.open(file_name)
crop_box = (4, 18, 630, 464)
img2 = img.crop(crop_box)
arr = numpy.asarray(img2, int)
有人能告诉我为什么会这样吗? (版本为:python 2.7.2,PIL 1.1.7,numpy 1.6.1)
答案 0 :(得分:1)
我认为如果使用img = img.crop(corp_box),原始的Image对象将没有引用,所以Python会立即为它做垃圾回收。