python实现图像压缩的方法: 1、导入Image软件包; 2、使用get_size(file )命令获取图像文件的大小; 3、采用【os.path.splitext ()方式连接文件地址; 然后,将文件压缩到指定的大小。 4、修改图像尺寸即可。
一.引入软件包fromPILimportImage
导入操作系统
二、取得图像文件的大小defget_size(file ) :
#获取文件大小:KB
size=os.path.getsize(file )
returnsize/1024
三.连接输出文件地址defget_outfile(infile,outfile ) :
ifoutfile:
返回轮廓
dir,suffix=OS.path.splitext(infile ) outfile=' { }-out { } '.format (dir,suffix ) ) )。
返回轮廓
四.将文件压缩到指定大小的defcompress_image(infile,outfile=' ',mb=150,step=10,quality=80 ) :
“”压缩为指定的大小,而不更改图像大小
:paraminfile:压缩源文件
:paramoutfile:压缩文件存储位置
:parammb:压缩目标,KB
每3360paramstep33601次调整的压缩率
: param质量:初始压缩率
:return:压缩文件地址、压缩文件大小
''''
o_size=get_size(infile )
ifo_size=mb:
返回信息
outfile=get_outfile(infile,outfile ) )。
whileo_sizemb:
im=image.open(infile ) )。
im.save(outfile,quality=quality ) )。
if质量-步骤
布雷克
质量--=步骤
o_size=get_size(outfile )
返回轮廓,get _ size (轮廓)
五、修改图像大小defresize_image(infile,outfile=' ',x_s=1376 ) :
调整“”图像的大小
:paraminfile:图像源文件
:paramoutfile:大小调整文件保存位置
:paramx_s:设置的宽度
:return:
''''
im=image.open(infile ) )。
x,y=im.size
y_s=int(y*x_s/x ) )
out=im.resize((x_s,y_s ),Image.ANTIALIAS () ) ) ) ) )。
outfile=get_outfile(infile,outfile ) )。
out.save(outfile )
if__name__=='__main__':
压缩_ image (r ' d : (learn (space.jpg ) ) )。
resize_image(r'd:(learn ) space.jpg ) ) ) ) ) ) ) )。