首页 > 编程知识 正文

python降低图片分辨率,python将图片原比例缩小

时间:2023-05-06 17:35:21 阅读:13458 作者:3524

前言

项目中经常使用图像导入,图像太大,导入速度太慢,需要统一压缩文件

一:导入软件包

来自pil导入图像

导入操作系统

2 :获取图像文件的大小

defget_size(file ) :

#获取文件大小:KB

size=os.path.getsize(file )

返回大小/1024

(三)连接输出文件地址

efget_outfile(infile,outfile ) :

if outfile:

返回轮廓

dir,suffix=OS.path.splitext(infile ) ) ) ) )。

outfile='{}-out{}'.format(dir,suffix ) )。

返回轮廓

(四)将文件压缩到指定大小。 优选为150KB。 step和quality可以修改为最佳值

defcompress_image(infile,outfile=',mb=150,step=10,quality=80 ) :

“”压缩为指定的大小,而不更改图像大小

:param infile:压缩源文件

:param outfile:压缩文件存储位置

:param mb:压缩目标,KB

每3360paramstep33601次调整的压缩率

: param质量:初始压缩率

:return:压缩文件地址、压缩文件大小

''''

o_size=get_size(infile )

if o_size=mb:

返回信息

outfile=get_outfile(infile,outfile ) )。

while o_size mb:

im=image.open(infile ) )。

im.save(outfile,quality=quality ) )。

if质量- step 0:

布雷克

质量-=步骤

o_size=get_size(outfile )

返回轮廓,get _ size (轮廓)

(五)修改照片尺寸。 如果需要同时修改大小和大小,可以在压缩大小之前修改大小

defresize_image(infile,outfile=',x_s=1376 ) :

调整“”图像的大小

:param infile:图像源文件

:param outfile:大小调整文件保存位置

:param x_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 ) ) ) ) ) ) ) )。

希望以上是正文的全部内容,对大家的学习有帮助。 另外,我希望大家多多支持谷点计划。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。