ImageChops.duplicate - python - PullRequest
       22

ImageChops.duplicate - python

1 голос
/ 05 июня 2010

Я пытаюсь использовать функцию ImageChops.dulpicate из модуля PIL и получаю ошибку, которую не понимаю:

это код

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

и это ошибка;

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'

любая помощь будет очень ценной

Ariel

Ответы [ 2 ]

3 голосов
/ 05 июня 2010

Вам необходимо передать объект Image в дублирующую функцию, а не в строку. Что-то вроде:

img = Image.open(PathBlackBoard)
BB = ImageChops.duplicate(img) 
2 голосов
/ 05 июня 2010

Я думаю, вы должны передать фактический объект изображения для дублирования, а не строку. Таким образом, ваш код, вероятно, станет примерно таким для одного изображения:

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