我想比较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)
答案 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']
您应该从列表中删除最后一个','。