山西坦达清洁设备有限公司

现在的位置: 主页 > 公司荣誉 > 文章列表

文章正文

Python Show-Me-the-Code 第 0005 题 批量图片处理

作者:山西坦达清洁设备有限公司 来源:www.sxtdqj.com 发布时间:2017-09-12 16:36:04
Python Show-Me-the-Code 第 0005 题 批量图片处理

第 0005 题:你有一个目录,装了很多照片,采集软件,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

思路:遍历给出目录下的图片,把大于iPhone5分辨率的图片都进行缩放。使用Python的PIL库对图片进行处理,IPhone5屏幕分辨率为640 × 1136,将大于该分辨率的图片按照一定比例缩放至适合大小并保存。

0005.批量图片处理.py

#!/usr/bin/env python #coding: utf-8 import Image, os # 源目录 myPath = '/home/bill/Pictures/' # 输出目录 outPath = '/home/bill/Pictures/output/' def processImage(filesource, destsource, name, imgtype): ''' filesource是存放待转换图片的目录 destsource是存放输出转换后图片的目录 name是文件名 imgtype是文件类型 ''' imgtype = 'jpeg' if imgtype == '.jpg' else 'png' #打开图片 im = Image.open(filesource + name) # 缩放比例 rate = max(im.size[0]/640.0 if im.size[0] > 640 else 0, im.size[1]/1136.0 if im.size[1] > 1136 else 0) if rate: im.thumbnail((im.size[0]/rate, im.size[1]/rate)) im.save(destsource + name, imgtype) def run(): # 切换到源目录,遍历源目录下所有图片 os.chdir(myPath) for i in os.listdir(os.getcwd()): # 检查后缀 postfix = os.path.splitext(i)[1] if postfix == '.jpg' or postfix == '.png': processImage(myPath, outPath, i, postfix) if __name__ == '__main__': run()

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站开发公司哪家好 https://www.feimao666.com


COPYRIGHT © 2015 山西坦达清洁设备有限公司 ALL RIGHTS RESERVED.
网站地图 技术支持:肥猫科技
精彩专题:网站建设
购买本站友情链接、项目合作请联系客服QQ:2500-38-100