我是python的新手,所以对我轻松一点!我正在尝试对文件夹中的每个.bmp图像应用模糊处理。我能够使代码的前半部分起作用,因此将滤镜应用于所有照片,但是后来我无法重新保存每张图像。我要保留原始图像,然后将新图像添加到文件夹中。这是我所拥有的:
from PIL import Image from PIL import ImageFilter import os, fileinput, sys
##for every item in X folder that ends in X, apply a basic blur to the image##
for entry in os.scandir('/Users/kh'):
if entry.path.endswith('.bmp'):
img = Image.open(entry.path)
img = img.filter(ImageFilter.BoxBlur(2))
img.show()
##and then re-save each of those new images under a new filename##
# Split our original filename into name and extension
(name, extension) = os.path.splitext(filepath)
# Save with "_blur" added to the filename
img.save(name + '_blur' + extension)
# Save the image as a BMP
img.save(name + '.bmp')
我尝试了很多其他的东西,但是这段代码是我得到的最接近的代码。非常感谢您的帮助。
答案 0 :(得分:0)
我尝试了您的代码。我实际上得到了:
NameError:名称'filepath'未定义
因为您有一个filepath
应该是entry.path
:
(name, extension) = os.path.splitext(entry.path)
除此之外,您的代码还可以工作,除了两个图像都模糊了。最后一行:
img.save(name + '.bmp')
显然不需要,它会用模糊的图像覆盖原始图像。