pil图像到numpy数组转换停止我的脚本

时间:2012-02-11 00:47:48

标签: python numpy python-imaging-library

我遇到了一个奇怪的问题。以下代码将过早地结束我的脚本。没有异常抛出,只是悄悄地重置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)

1 个答案:

答案 0 :(得分:1)

我认为如果使用img = img.crop(corp_box),原始的Image对象将没有引用,所以Python会立即为它做垃圾回收。