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通过正则表达式选取callback的方法
Jul 18 Python
Python应用03 使用PyQT制作视频播放器实例
Dec 07 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
python编程使用selenium模拟登陆淘宝实例代码
Jan 25 Python
Python迭代器定义与简单用法分析
Apr 30 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
wxPython多个窗口的基本结构
Nov 19 Python
安装PyInstaller失败问题解决
Dec 14 Python
python numpy库np.percentile用法说明
Jun 08 Python
Python将字典转换为XML的方法
Aug 01 Python
教你怎么用Python生成九宫格照片
May 20 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使用qr生成二维码的示例分享
2014/01/20 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
php异常处理捕获错误整理
2019/09/23 PHP
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
angular动态表单制作
2018/02/23 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
python生成lmdb格式的文件实例
2018/11/08 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python3实现mysql导出excel的方法
2019/07/31 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
生产车间班组长岗位职责
2014/01/06 职场文书
工程师岗位职责规定
2014/02/26 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
2016春节慰问信范文
2015/03/25 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
php 原生分页
2021/04/01 PHP
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS