1
也許這是因爲我是Python的新手。但我似乎無法調整大小和保存圖像。如何在Python中保存調整大小的圖像?
有人能告訴我我在做什麼錯嗎?我先調整大小,然後將圖像裁剪爲256x256。輸出保存爲原始圖像。函數調用,如:resizeAndCrop("path/to/image.png")
當前行爲腳本保存圖像的原始尺寸...
# function for resizing and cropping to 256x256
def resizeAndCrop(imgPath):
im = Image.open(imgPath)
# remove original
os.remove(imgPath)
# Get size
x, y = im.size
# New sizes
yNew = 256
xNew = yNew # should be equal
# First, set right size
if x > y:
# Y is smallest, figure out relation to 256
xNew = round(x * 256/y)
else:
yNew = round(y * 256/x)
# resize
im.resize((int(xNew), int(yNew)), PIL.Image.ANTIALIAS)
# crop
im.crop(((int(xNew) - 256)/2, (int(yNew) - 256)/2, (int(xNew) + 256)/2, (int(yNew) + 256)/2))
# save
print("SAVE", imgPath)
im.save(imgPath)
'resize()'返回一個圖像的大小*副本*,所以你需要分配操作的結果,否則新圖像丟失。 'crop()'也是如此,增加的皺紋是「這是一個懶惰的操作。對源圖像的改變可能會或可能不會反映在裁剪後的圖像中。要獲得單獨的副本,請調用'load'方法在裁剪的副本上。「 –
因此,您正在對圖像執行裁剪並調整大小,但是沒有任何事情發生,並且與原始圖像相同的圖像正在保存? – The4thIceman
在:'newImage = im.resize((int(xNew),.......'? –