第1.5题:使用Image处理图片

该博客介绍了如何使用Python的PIL库处理图片,确保它们的尺寸不超过iPhone5的分辨率。作者提供了检查PIL安装及参考代码,强调处理图片时要注意可能的宽高比例。
摘要由CSDN通过智能技术生成

题目来自:Python 练习册。题目1.5:你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。查看更多于本人博客:李飞阳


使用python来处理图片是非常方便的,下面提供一小段python处理图片的代码,需要安装图像处理工具包PIL(Python Image Library)。

安装PIL

我用的是anaconda(一个开源的Python发行版本,包含了常用的数据科学库。),其中自带了PIL和Pillow,但是不能用,真是(ಥ _ ಥ) 。
检查自己电脑是否支持PIL,可以在Python shell 页面输入:

from PIL import Image

Image


如果没有报错的话,就可以代表正常。如果报错说[importError: No module named images],使用pip卸载pillow,重新安装应该就可以了.


参考代码

稍微注意一下,图片的宽高是两个数字,不能理所当然的认为图片都是宽大于高的。

import os  
from PIL import Image  
pathDir='F:\CloudMusic'  
os.chdir(pathDir)  

def get_imglist(): #获取照片名称list  
    img_list=[]  
    list_dir=os.listdir(pathDir)  
    for x in list_dir:  
        if '.jpg' in x:  
            img_list.append(x)  
        else:  
            print("This is not a picture: "+x)  
    return img_list  

def modify_imgsize():  
    for filename in get_imglist():      
        img=Image.open(filename)  
        if max(img.size)>1136:  
            value=max(img.size)/1136.0  
            newsize =(int(img.size[0]/value),int(img.size[1]/value)) 
            newimg = img.resize(newsize,Image.ANTIALIAS) #修改大小                 
            newimg.save('new_'+filename)  
        else:  
            print("This picture is availabe:"+filename)  

if __name__ == '__main__':
    modify_imgsize()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值