我正在尝试创建一个脚本来更改文件夹中所有图像的对比度和清晰度,并将其保存到一个新文件夹中,名为filename\u edited.jpg
我正在使用pythong3.7,导入os和PIL。我有一个文件夹,里面有一些图片-DJI_001.jpg,DJI_002.jpg等等。包含图像的文件夹称为test
我希望他们转到的文件夹在..\test\novo中称为“novo”
起初我有这个。它可以工作,但会将图像保存在同一文件夹中:
import PIL
from PIL import Image, ImageEnhance
import os.path, sys
path = "C:\\Users\\r o d r i g o\\Desktop\\001 - progamer\\98 - Image brightness\\test"
dirs = os.listdir(path)
def teste():
for item in dirs:
fullpath = os.path.join(path,item)
if os.path.isfile(fullpath):
img = Image.open(fullpath)
f, e = os.path.splitext(fullpath)
sharpness = ImageEnhance.Sharpness(img)
sharp = sharpness.enhance(10.0)
newimg = sharp
contrast = ImageEnhance.Contrast(newimg)
cont = contrast.enhance(2.3)
head, tail = os.path.split(fullpath)
cont.save(f + "_edited.jpg")
teste()
所以经过一番研究后,我试着从头部和尾部分开整个路径。tail变量获取文件名
我这样做,所以每次它循环,它可以保存到我的新文件夹+尾巴的文件路径
所以我试了这个:
def sha():
for item in dirs:
fullpath = os.path.join(path,item)
if os.path.isfile(fullpath):
img = Image.open(fullpath)
#f, e = os.path.splitext(fullpath) #don't need this here
sharpness = ImageEnhance.Sharpness(img)
sharp = sharpness.enhance(10.0)
newimg = sharp
contrast = ImageEnhance.Contrast(newimg)
cont = contrast.enhance(2.3)
head, tail = os.path.split(fullpath)
cont.save("C:\\Users\\r o d r i g o\\Desktop\\001 - progamer\\98 - Image brightness\\test\\novo" + tail)
print("this is the filepath: " + head)
print("this is the filename: " + tail)
sha()
我原以为这样行得通,但它将文件保存在同一个目录下,如novoDJI_001.jpg、novoDJI_002.jpg等等
如果有帮助的话,我添加了一些图片:
Saving in the same folder 和 Trying to save on a new folder
因此,在我的第二次尝试中(更像是第20次尝试),您可以看到我插入了文件路径,但是名为novo的新文件夹,在\test\novo中以文件名结束
任何帮助是非常感谢,我相信这是简单的,但我已经花了过去5个小时在这个,但我不知道为什么它会这样做!谢谢你
“novo”和
tail
之间的这行中没有路径分隔符:请换成这样:
或者你也可以用这个:
相关问题 更多 >
编程相关推荐