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日期操作学习笔记
Oct 07 Python
Python实现一个简单的MySQL类
Jan 07 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
python利用Guetzli批量压缩图片
Mar 23 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
Python中新式类与经典类的区别详析
Jul 10 Python
Python实现Restful API的例子
Aug 31 Python
pytorch获取模型某一层参数名及参数值方式
Dec 30 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 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
PHP文本数据库的搜索方法
2006/10/09 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
window.open()弹出居中的窗口
2007/02/01 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
在Python中使用SQLite的简单教程
2015/04/29 Python
Python使用wxPython实现计算器
2018/01/30 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
海飞丝广告词
2014/03/20 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏