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 11 Python
用Python的Django框架来制作一个RSS阅读器
Jul 22 Python
python 专题九 Mysql数据库编程基础知识
Mar 16 Python
python django使用haystack:全文检索的框架(实例讲解)
Sep 27 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python实现ROA算子边缘检测算法
Apr 05 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 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 foreach 参数强制类型转换的问题
2010/12/10 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
php发送邮件的问题详解
2015/06/22 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
javascript EXCEL 操作类代码
2009/07/30 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
美国零售商店:Blue&Cream
2017/04/07 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
金融专业个人求职信
2013/09/22 职场文书
工作的心得体会
2013/12/31 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
设备收款委托书范本
2014/10/02 职场文书
会计稽核岗位职责
2015/04/13 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers