2010-06-05 6 views
1

Je suis Tring d'utiliser la fonction ImageChops.dulpicate du module PIL et je reçois une erreur que je ne comprends pas:ImageChops.duplicate - python

c'est le code

import PIL 
import Image 
import ImageChops 
import os 

PathDemo4a='C:/Documents and Settings/Ariel/My Documents/My Dropbox/lecture/demo4a' 
PathDemo4b='C:/Documents and Settings/Ariel/My Documents/My Dropbox/lecture/demo4b' 
PathDemo4c='C:/Documents and Settings/Ariel/My Documents/My Dropbox/lecture/demo4c' 
PathBlackBoard='C:/Documents and Settings/Ariel/My Documents/My Dropbox/lecture/BlackBoard.bmp' 

Slides=os.listdir(PathDemo4a) 

for slide in Slides: 
    #BB=Image.open(PathBlackBoard) 
    BB=ImageChops.duplicate(PathBlackBoard) #BB=BlackBoard 

et ce est l'erreur;

Traceback (most recent call last): 
    File "<pyshell#4>", line 1, in <module> 
    ImageChops.duplicate('c:/1.BMP') 
    File "C:\Python26\lib\site-packages\PIL\ImageChops.py", line 57, in duplicate 
    return image.copy() 
AttributeError: 'str' object has no attribute 'copy' 

toute aide serait beaucoup appriciated

Ariel

Répondre

2

Je pense que vous devriez passer un objet image réelle de dupliquer et non une chaîne. Donc, votre code deviendra probablement quelque chose comme ça pour une image:

path = '...' 
img = Image.open(path) 
dup = ImageChops.duplicate(img) 
3

Vous devez passer un objet d'image dans la fonction double plutôt qu'une chaîne. Quelque chose comme:

img = Image.open(PathBlackBoard) 
BB = ImageChops.duplicate(img)