首页 > 编程语言 >用Python调整图片尺寸教程【附源码】

用Python调整图片尺寸教程【附源码】

时间:2024-07-20 17:56:54浏览次数:16  
标签:size img Python Image 源码 new 图片尺寸 图片

就像我们学习数学一样,多做题多练习,才会熟能生巧。

更多项目源码,实战案例,文件夹领取方式在文末
在这里插入图片描述

学习Python也是一样,练习才是学好Python的最优解。只有不停的敲代码,不断练习,才能不断进步。

实操练习

你是否遇到过上传照片有大小要求?

不管是上传证件照报名参赛,总会有一个不要超过2M,长不超过XX,宽不超过XX诸如此类的大小限制。

遇到这种情况,我们可以用Python来调整。

当然调整尺寸的方法很多,我们为什么用Python来调整呢?

一方面,用Python调整起来既简单又便捷,非常实用;

另一方面,这也能给自己一个练习Python的机会,让自己从最基础的小项目开始,慢慢练习Python。

了解了这些,让我们来看看如何用python编写简洁的代码实现这个小项目吧!

练习时间

安装PIL库

PIL(Python Image Library)是python提供实现图像处理的强大第三方库,用它就能实现图片的缩放。

首先,我们来到终端,输入pip install Pillow便可进行安装。

安装完毕后,我们可以在python中执行from PIL import Image用来检验是否安装成功。

用PIL打开图片文件

在python中,我们通过from PIL import Image导入图片处理的功能模块,

再利用Image提供的.open()函数,输入需要打开的图片路径作为参数即可打开图片文件。


from PIL import Image

img=Image.open('0.jpg')
# 利用Image.open('图片文件路径')可以打开图片文件并返回一个文件对象
print(img.size)
# 图片文件对象调用.size可以获取图片的尺寸信息

利用resize()函数进行缩放

得到的图片文件对象可以调用resize()函数,输入你想要调整后的尺寸大小实现对图片尺寸的调整。

 

from PIL import Image

img=Image.open('0.jpg')
# 利用Image.open('图片文件路径')可以打开图片文件并返回一个文件对象
print(img.size)
# 输出:(750,750)
# 图片文件对象调用.size可以获取图片的尺寸信息
new_img=img.resize((250,250))
# 以元组形式输入想要调整到的尺寸作为resize函数的参数,会返回一个新的图片文件对象
print(new_img.size)
# 输出:(250,250)

图片保存

对新得到的图片文件调用.save(‘保存路径’)即可保存修改后的图片啦!



from PIL import Image

img=Image.open('0.jpg')
# 利用Image.open('图片文件路径')可以打开图片文件并返回一个文件对象
print(img.size)
# 输出:(750,750)
# 图片文件对象调用.size可以获取图片的尺寸信息
new_img=img.resize((250,250))
# 以元组形式输入想要调整到的尺寸作为resize函数的参数,会返回一个新的图片文件对象
print(new_img.size)
# 输出:(250,250)
new_img.save('0_new.jpg')

总结

用Python调整图像尺寸,你学会了么?

我们还可以利用上面学到的方法集成到一个函数里,通过这个函数输入要修改的图片、修改后的保存路径、缩放比例即可轻松完成图片缩放功能。



from PIL import Image

def resize_img(input_path,output_path,scale): #三个参数分别为修改的图片、修改后的保存路径、缩放比例
    if scale>0:
        img=Image.open(input_path) #打开图片
        x,y=img.size
        print('修改前:',img.size)
        new_x,new_y=int(scale*x),int(scale*y) #缩放后的长和宽 需要时整数形式
        new_img=img.resize((new_x,new_y))   #缩放
        new_img.save(output_path)   #保存修改后的图片
        print('修改后',new_img.size)
    else:
        print('缩放比例scale应大于0!!')

resize_img('0.jpg','0_new.jpg',0.2)

由于文章篇幅有限,文档资料内容较多,需要这些文档的朋友,可以加小助手微信免费获取,【保证100%免费】,中国人不骗中国人。

                                     **(扫码立即免费领取)**

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

如有侵权,请联系删除。

标签:size,img,Python,Image,源码,new,图片尺寸,图片
From: https://blog.csdn.net/2401_85855266/article/details/140574701

相关文章

  • 干货 |Python中的循环结构
    应用场景我们在写程序的时候,一定会遇到需要重复执行某条或某些指令的场景。例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向移动的指令。在这个场景中,让机器人向球门方向移动就是一个需要重复的动作,当然这里还会......
  • 干货| Python代码性能优化总结
    本文会介绍不少的Python代码加速运行的技巧。在深入代码优化细节之前,需要了解一些代码优化基本原则。第一个基本原则:不要过早优化很多人一开始写代码就奔着性能优化的目标,“让正确的程序更快要比让快速的程序正确容易得多”。因此,优化的前提是代码能正常工作。过早地进......
  • 在pyspark(python)中将json字符串扩展到多列
    我需要将Json对象(b列)扩展到多列。从此表中,A列B列id1[{a:1,b:'letter1'}]id2[{a:1,b:'letter2',c:3,d:4}]对......
  • python实现文件的读写
    python实现文件的读写路径的书写:open("E:\\ai_03\\code\\ai_03_python\\day07\\data.txt")#两个斜杠open(r"E:\ai_03\code\ai_03_python\day07\data.txt","w",encoding="utf8")#建议使用读文件读文件的格式要以读文件的模式打开一个文件对象,使用Python......
  • python模块化设计
    在Python中,模块化是将代码分解为独立的功能块,并通过导入和使用这些功能块来实现代码复用和组织的一种方式。模块化的编程风格使得代码更易于维护、扩展和测试。以下是Python实现模块化的一些常用方法:使用import语句导入模块:可以使用import语句导入其他Python文件(.py文件)作为......
  • 5分钟解锁python多线程
    以下是一个使用Python多线程的简单示例代码:importthreadingdefprint_numbers():foriinrange(1,6):print(i)defprint_letters():forletterin['A','B','C','D','E']:print(letter)if__nam......
  • 看过来!看过来!python九大数据类型大整合!
    目录一、Int(整型)二、Float(浮点型)三、Bool(布尔类型)四、Str(字符串)(1)拼接:(2)格式化:(3)查找和替换:(4)分割和连接:(5)大小写转换:(6)去除空白字符:五、None(空值)初始化变量作为函数的返回值:在条件语句中检查:六、List(列表)创建List访问List元素修改ListList的遍历七......
  • win系统 python 安装 osgeo库安装(最简单)
    Python osgeo库安装用法介绍安装使用osgeo库,本质是安装gdal一、下载对应python版本压缩包下载地址在结尾二、解压压缩包在解压之后的文件夹当中,找到这两个文件夹三、复制文件夹到python安装目录当中如python环境文件夹路径为D:\Local\Programs\miniconda3\envs\py31......
  • 【Python】使用库 -- 详解
    库就是别人已经写好了的代码,可以让我们直接拿来用。一个编程语言能不能流行起来,一方面取决于语法是否简单方便容易学习,一方面取决于生态是否完备。所谓的“生态” 指的就是语言是否有足够丰富的库,来应对各种各样的场景。在实际开发中,也并非所有的代码都自己手写,而是要充分利......
  • python函数基础
    1.函数目的函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。函数可以封装一定的功能2.函数的定义函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括......