将滤镜应用于目录中的每张照片

时间:2019-03-09 20:01:41

标签: python

我是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')

我尝试了很多其他的东西,但是这段代码是我得到的最接近的代码。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我尝试了您的代码。我实际上得到了:

  

NameError:名称'filepath'未定义

因为您有一个filepath应该是entry.path

(name, extension) = os.path.splitext(entry.path)

除此之外,您的代码还可以工作,除了两个图像都模糊了。最后一行:

img.save(name + '.bmp')

显然不需要,它会用模糊的图像覆盖原始图像。