python处理图片之PIL模块简单使用方法


Posted in Python onMay 11, 2015

本文实例讲述了python处理图片之PIL模块简单使用方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python  
#encoding: utf-8 
import Image  
class myimg: 
  def __init__(self, open_file, save_file): 
    self.img = Image.open(open_file) 
    self.save_file = save_file 
  def Change_Size(self, percent=100, height=None, width=None): 
    ''''' 
    percent:以百分比来决定大小 
    height, width:以指定的高、宽来决定大小 
    ''' 
    if not (height and width): 
      width,height = self.img.size   
    new_img = self.img.resize((width*percent/100,height*percent/100),Image.BILINEAR) 
    new_img.save(self.save_file) 
  def Rotation(self, angle): 
    ''''' 
    angle: 旋转的度数 
    ''' 
    rot_img = self.img.rotate(angle) #旋转 
    rot_img.save(self.save_file) 
  def Save_as(self, filename): 
    ''''' 
    filename: 另存为图片格式,直接根据后缀名来 
    ''' 
    self.img.save(filename)  
  def Draw_Something(self): 
    ''''' 
        利用ImageDraw来画图形 
    ''' 
    import ImageDraw 
    draw = ImageDraw.Draw(self.img) 
    width,height = self.img.size 
    draw.line(((0,0),(width-1,height-1)),fill=255) #画直线 
    draw.line(((0,height-1),(width-1,0)),fill=255) 
    draw.arc((0,0,width-1,height-1),0,360,fill=255) #画椭圆 
    self.img.save(self.save_file) 
  def Enhance_Something(self): 
    ''''' 
        利用 ImageEnhance来增强图片效果 
    ''' 
    import ImageEnhance 
    brightness = ImageEnhance.Brightness(self.img) 
    bright_img = brightness.enhance(2.0) ##亮度增强 
    bright_img.save(self.save_file) 
    sharpness = ImageEnhance.Sharpness(self.img) 
    sharp_img = sharpness.enhance(7.0) #锐度增强 
    sharp_img.save(self.save_file) 
    contrast = ImageEnhance.Contrast(self.img) #对比度增强 
    contrast_img = contrast.enhance(2.0)  
    contrast_img.save(self.save_file) 
if __name__ == "__main__": 
  file_name = r"D:\test.png" 
  save_file = r"D:\save.png" 
  saveas_file = r"D:\save_as.bmp" 
  oimg = myimg(file_name, save_file) 
  oimg.Change_Size(30) 
  oimg.Rotation(45) 
  oimg.Save_as(saveas_file) 
  oimg.Draw_Something() 
  oimg.Enhance_Something()

原图:

python处理图片之PIL模块简单使用方法

处理过的画图:(锐化过的)

python处理图片之PIL模块简单使用方法

PS:此外还有另一个比较常用的模块,image模块。

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

Python 相关文章推荐
python定时器使用示例分享
Feb 16 Python
Python常用正则表达式符号浅析
Aug 13 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
Python unittest 简单实现参数化的方法
Nov 30 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
python自定义解析简单xml格式文件的方法
May 11 #Python
python引用DLL文件的方法
May 11 #Python
深入解析Python中的WSGI接口
May 11 #Python
详细解析Python中__init__()方法的高级应用
May 11 #Python
从Python的源码来解析Python下的freeblock
May 11 #Python
详解Python的Django框架中的templates设置
May 11 #Python
Python素数检测的方法
May 11 #Python
You might like
中东人咖啡哲学
2021/03/03 咖啡文化
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
什么叫做SQL注入,如何防止
2016/10/04 面试题
Java基础类库面试题
2013/09/04 面试题
煤矿班组长的职责
2013/12/25 职场文书
党员公开承诺书范文
2014/03/25 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
公司晚会策划方案
2014/05/17 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
中职生自荐信范文
2014/06/15 职场文书
小学数学教研活动总结
2014/07/01 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
英语读书笔记
2015/07/02 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
Python编程编写完善的命令行工具
2021/09/15 Python
Java中try catch处理异常示例
2021/12/06 Java/Android
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android