ImageChops.duplicate - python中文

1 投票
2 回答
1051 浏览
提问于 2025-04-15 23:35

我正在尝试使用PIL模块中的ImageChops.dulpicate函数,但遇到了一个我不明白的错误:

这是我的代码:

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 个回答

2

我觉得你应该传递一个真实的图片对象,而不是一个字符串。所以你的代码可能会变成这样,针对一张图片:

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

你需要把一个图片对象传递给重复函数,而不是一个字符串。可以这样做:

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

撰写回答