我可以将python中的图像大小调整为给定的高度和宽度吗?我使用python 2.5,我尝试了本教程http://effbot.org/imagingbook/introduction.htm,我安装了图像的PIL库,但是当我尝试写:
import Image
im = Image.open("test.jpg")
我从 import:open 得到了未定义的变量,虽然import Image
没有给出错误?提前致谢。
我可以将python中的图像大小调整为给定的高度和宽度吗?我使用python 2.5,我尝试了本教程http://effbot.org/imagingbook/introduction.htm,我安装了图像的PIL库,但是当我尝试写:
import Image
im = Image.open("test.jpg")
我从 import:open 得到了未定义的变量,虽然import Image
没有给出错误?提前致谢。
您的导入似乎是问题所在。使用它而不是“导入图像”:
from PIL import Image
然后像这样继续:
image = Image.open('/example/path/to/image/file.jpg/')
image.thumbnail((80, 80), Image.ANTIALIAS)
image.save('/some/path/thumb.jpg', 'JPEG', quality=88)
对谁有用:刚刚在Pillow 官方网站上找到。您可能使用了 Pillow 而不是 PIL。
警告
Pillow >= 1.0 不再支持“导入图像”。请改用“from PIL import Image”。
此脚本调整给定文件夹中所有图像的大小:
import PIL
from PIL import Image
import os, sys
path = "path"
dirs = os.listdir( path )
def resize():
for item in dirs:
if os.path.isfile(path+item):
img = Image.open(path+item)
f, e = os.path.splitext(path+item)
img = img.resize((width,hight ), Image.ANTIALIAS)
img.save(f + '.jpg')
resize()
import os
from PIL import Image
imagePath = os.getcwd() + 'childFolder/myImage.png'
newPath = os.getcwd() + 'childFolder/newImage.png'
cropSize = 150, 150
img = Image.open(imagePath)
img.thumbnail(cropSize, Image.ANTIALIAS)
img.save(newPath)
如果您在使用 PIL 时遇到问题,另一种选择可能是 scipy.misc 库。假设您要调整大小为 48x48,并且您的图像与脚本位于同一目录中
from from scipy.misc import imread
from scipy.misc import imresize
进而:
img = imread('./image_that_i_want_to_resize.jpg')
img_resized = imresize(img, [48, 48])
您可以使用调整图像大小skimage
from skimage.transform import resize
import matplotlib.pyplot as plt
img=plt.imread('Sunflowers.jpg')
image_resized =resize(img, (244, 244))
绘制调整大小的图像
plt.subplot(1,2,1)
plt.imshow(img)
plt.title('original image')
plt.subplot(1,2,2)
plt.imshow(image_resized)
plt.title('image_resized')