ImageChops没有看到文件路径

时间:2014-11-10 04:52:52

标签: python operating-system python-imaging-library

我想比较2个列表中的图片,相应地为1比1。我在下面做:

(Python 2.7 + Windows)

Nov_list = [
'C:\Animals\Nov 2014\Loxodonta africana Nov 2014.jpg', 
'C:\Animals\Nov 2014\Haliaetus vocifer Nov 2014.jpg', 
'C:\Animals\Nov 2014\Xerus sp. Nov 2014.jpg', 
'C:\Animals\Nov 2014\Actophilornis africanus Nov 2014.jpg', 
'C:\Animals\Nov 2014\Hystrix cristata Nov 2014.jpg', 
'C:\Animals\Nov 2014\Macropus agilis Nov 2014.jpg', ]

Mar_list = [
'C:\Animals\Mar 2014\Loxodonta africana Mar 2014.jpg', 
'C:\Animals\Mar 2014\Haliaetus vocifer Mar 2014.jpg', 
'C:\Animals\Mar 2014\Xerus sp. Mar 2014.jpg', 
'C:\Animals\Mar 2014\Actophilornis africanus Mar 2014.jpg', 
'C:\Animals\Mar 2014\Hystrix cristata Mar 2014.jpg', 
'C:\Animals\Mar 2014\Macropus agilis Mar 2014.jpg', ]

for a, b in zip(Nov_list, Mar_list):

    diff = ImageChops.difference(a, b).getbbox()
    print diff

它出错了:

“AttributeError: 'str' object has no attribute 'load'”. 

似乎代码没有看到文件及其位置。我用双“\”尝试了它们,并尝试在路径的开头添加 r',但都不起作用。


感谢NeoWu的帮助,代码改为以下并且有效:

for a, b in zip(a20141104, a20141110):
    im1 = Image.open(a)
    im2 = Image.open(b)

    diff = ImageChops.difference(im1, im2).getbbox()
        print a + b + 'is: ' + str(diff)

1 个答案:

答案 0 :(得分:1)

Nov_list = [
'C:\Animals\Nov 2014\Loxodonta africana Nov 2014.jpg', 
'C:\Animals\Nov 2014\Haliaetus vocifer Nov 2014.jpg', 
'C:\Animals\Nov 2014\Xerus sp. Nov 2014.jpg', 
'C:\Animals\Nov 2014\Actophilornis africanus Nov 2014.jpg', 
'C:\Animals\Nov 2014\Hystrix cristata Nov 2014.jpg', 
'C:\Animals\Nov 2014\Macropus agilis Nov 2014.jpg']

Mar_list = [
'C:\Animals\Mar 2014\Loxodonta africana Mar 2014.jpg', 
'C:\Animals\Mar 2014\Haliaetus vocifer Mar 2014.jpg', 
'C:\Animals\Mar 2014\Xerus sp. Mar 2014.jpg', 
'C:\Animals\Mar 2014\Actophilornis africanus Mar 2014.jpg', 
'C:\Animals\Mar 2014\Hystrix cristata Mar 2014.jpg', 
'C:\Animals\Mar 2014\Macropus agilis Mar 2014.jpg']

您应该从列表中删除最后一个','。