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中使用base64模块处理字符编码的教程
Apr 28 Python
python版简单工厂模式
Oct 16 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
python3 实现验证码图片切割的方法
Dec 07 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
python如何提升爬虫效率
Sep 27 Python
python关于倒排列的知识点总结
Oct 13 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
Jan 13 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 检查扩展库或函数是否可用的代码
2010/04/06 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
js 加载并解析XML字符串的代码
2009/12/13 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
js实现批量删除功能
2020/08/27 Javascript
python学习数据结构实例代码
2015/05/11 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python字符串处理实例详解
2017/05/18 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Django添加sitemap的方法示例
2018/08/06 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python的slice notation的特殊用法详解
2019/12/27 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
Python中常用的os操作汇总
2020/11/05 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
信息学院毕业生自荐信范文
2014/03/04 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书