首页 > 解决方案 > 灰度和调整图像大小

问题描述

每当我运行我的代码时,什么都不会发生,我想要发生的文件夹中也不会发生任何新的事情。

这是代码:

from PIL import Image

def greyScaleAndSize(filename, numImages): 

img = Image.open('N:/Fall 2021/DataScienceIntroToPython/Lab 11/lab 11 logos' + ".jpg")
imgGreyscale = img.convert('L')

for i in range(1, numImages):
    imgGreyscale = img.resize((i*0.5, i*0.5))
    new_logos = 'N:/Fall 2021/DataScienceIntroToPython/Lab 11/lab 11 logos' + '__grey__' + str(i*0.5)+ 'x' + str(i+0.5) + '.jpg'
    imgGreyscale.save(new_logos)
    
img.close()

我想要做的是从一个文件夹中转换为灰度并调整大约 9 张图像的大小(原始大小的一半)并将它们保存到一个 ew 文件夹中。但是当我运行代码时它不会崩溃,也不会崩溃在任何文件夹中显示新图像..

标签: pythonimageimage-resizing

解决方案


from PIL import Image
import os 


dirname, scriptname = os.path.split(os.path.abspath(__file__))

def greyScaleAndSize(filename): 

    img = Image.open(dirname + '/'+filename + ".jpg")
    imgGreyscale = img.convert('L')
 

    imgGreyscale = imgGreyscale.resize((img.width//2, img.height//2))
    new_logos = dirname + '/'+filename +'__grey__' + str(img.width*0.5)+ 'x' + str(img.height+0.5) + '.jpg'
    imgGreyscale.save(new_logos)
    
    img.close()

greyScaleAndSize('Orianna')

这段代码工作正常。假设您有一张名为 Orianna.jpg 的照片,我使用了 '/' unix 样式,请注意这一点。您可以调用它来获取照片名称列表。


推荐阅读