import os
from PIL import Image
import glob
def convertjpg(jpgfile,outdir,width=200,height=500):
img=Image.open(jpgfile)
new_img=img.resize((width,height),Image.BILINEAR)
new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
for jpgfile in glob.glob(('/home/yangguide/Videos/images/*.png')):
convertjpg(jpgfile,"/home/yangguide/Videos/image_2")
知识点:
-
图像库PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。
-
Image类是PIL中的核心类,你有很多种方式来对它进行初始化,比如从文件中加载一张图像,处理其他形式的图像,或者是从头创造一张图像等。Image模块操作的基本方法都包含于此模块内。如open、save、conver、show…等方法。
加载图像,使用Image类的open()函数:
Image.open(jpgfile)
保存图像,使用Image类的save()函数:
new_img.save(os.path.join(outdir,os.path.basename(jpgfile))) -
os.path.basename()方法:返回path最后的文件名, 如果path以’/'结尾,那么就会返回空值, 即os.path.split(path)的第二个元素。
示例:
>>> import os
>>> path = '/Users/beazley/Data/data.csv'
>>> os.path.basename(path) #Get the last component of the path
'data.csv'
- img.resize((width,height),Image.BILINEAR) :使用resize函数指定图像的大小和质量,第二个参数设置和含义如下图:
- glob.glob()与glob.iglob()的用法:glob.glob()可同时获取所有的匹配路径,而glob.iglob()一次只能获取一个匹配路径。