python批量图片处理简单示例

yipeiwu_com6年前Python基础

本文实例讲述了python批量图片处理。分享给大家供大家参考,具体如下:

#!/usr/bin/python
#coding:utf-8
import os
from PIL import Image
#源目录
MyPath = 'C:/Users/Eric/Desktop/python_text/20161214/test_Image/'
#输出目录
OutPath = 'C:/Users/Eric/Desktop/python_text/20161214/outpath/'
def processImage(filesoure, destsoure, name, imgtype):
  '''
  filesoure是存放待转换图片的目录
  destsoure是存在输出转换后图片的目录
  name是文件名
  imgtype是文件类型
  '''
  imgtype = 'jpeg' if imgtype == '.jpg' else 'png'
  #打开图片
  im = Image.open(filesoure + name)
  #缩放比例
  rate =max(im.size[0]/640.0 if im.size[0] > 60 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(destsoure + 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()

更多关于Python相关内容可查看本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

如何使用Flask-Migrate拓展数据库表结构

前言 在我们用 sqlchemy 模块创建完几个表时,如果在实际生产环境中,需要对表结构进行更改,应该怎么办呢?总不能把表删除了吧,这样数据就会丢失了。 更好的解决办法是使用数据库迁移框...

从0开始的Python学习014面向对象编程(推荐)

从0开始的Python学习014面向对象编程(推荐)

简介 到目前为止,我们的编程都是根据数据的函数和语句块来设计的,面向过程的编程。还有一种我们将数据和功能结合起来使用对象的形式,使用它里面的数据和方法这种方法叫做面向对象的编程。 类和对...

pycharm安装和首次使用教程

pycharm安装和首次使用教程

PyCharm 是我用过的python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windows下面都可以用,这点比较好。是python现在最好用的编辑器,没有之一。 首先预...

Python MySQL数据库连接池组件pymysqlpool详解

Python MySQL数据库连接池组件pymysqlpool详解

引言 pymysqlpool (本地下载)是数据库工具包中新成员,目的是能提供一个实用的数据库连接池中间件,从而避免在应用中频繁地创建和释放数据库连接资源。 功能 连接池本...

python单链表实现代码实例

链表的定义:链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址。由于每个结点都包含了可以链接起来的地址信息,所以...