Python切片工具pillow用法示例


Posted in Python onMarch 30, 2018

本文实例讲述了Python切片工具pillow用法。分享给大家供大家参考,具体如下:

切片:使用切片将源图像分成许多的功能区域

因为要对图片进行切片裁剪,所以用到切片工具必不可少,在ubuntu下有很多的图片处理工具,如 GIMP(Ubuntu的下的Photoshop),shotwell,shotter等等。

但是我想吧一张图片剪裁下来,用那些工具不怎么方便(其实可能是我没有找到而已),于是上网搜索资料,发现各式各类的工具,其中发现了pollow这款工具。

算是Python下的一个模块吧,这个模块很强大,是一个图像处理库,有关pillow的介绍,可参考本站相关文章。

下面开始安装,其实很简单,使用pip进行:

pip install pillow

回车即可  没有pip安装pip,不知道pip的见我的博客:

下面说说怎么剪切,新建Python文件:

# coding=utf-8
from PIL import Image
import os
def mkdir(path):
  # 去除首位空格
  path=path.strip()
  # 去除尾部 \ 符号
  path=path.rstrip("\\")
  # 判断路径是否存在
  # 存在   True
  # 不存在  False
  isExists=os.path.exists(path)
  # 判断结果
  if not isExists:
    # 如果不存在则创建目录
    print path+' 创建成功'
    # 创建目录操作函数
    os.makedirs(path)
    return True
  else:
    # 如果目录存在则不创建,并提示目录已存在
    print path+' 目录已存在'
    return False
cnt = 0
imageName = 'mageStand.png'
pathName = 'mageStand'
img = Image.open(imageName)
ori_w,ori_h = img.size
row = 4
col = 4
for j in range(0, col):
  Y = j*ori_h/col
  Y_end = Y + ori_h/col
  for i in range(0, row):
    X = i*ori_w/row
    X_end = X + ori_w/row
    print X, X_end
    if 8 == cnt:
      pathName+="adv"
      cnt = 0
    mkdir(pathName)
    fileName = '%s/a_%d.png' %(pathName, cnt)
    img.crop((X, Y, X_end, Y_end)).save( fileName )
    cnt+=1

imageName和pathName进行相应的替换即可,OK!完事!

本文参考文献:

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

Python 相关文章推荐
Python中3种内建数据结构:列表、元组和字典
Nov 30 Python
Python基于辗转相除法求解最大公约数的方法示例
Apr 04 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
python实现俄罗斯方块
Jun 26 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
Python中flatten( ),matrix.A用法说明
Jul 05 Python
python3.4中清屏的处理方法
Jul 06 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
Python Django搭建文件下载服务器的实现
May 10 Python
Python实现OpenCV的安装与使用示例
Mar 30 #Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 #Python
Jupyter安装nbextensions,启动提示没有nbextensions库
Apr 23 #Python
python+opencv识别图片中的圆形
Mar 25 #Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 #Python
python学习入门细节知识点
Mar 29 #Python
Python实现加载及解析properties配置文件的方法
Mar 29 #Python
You might like
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
Vue2.5通过json文件读取数据的方法
2018/02/27 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
理解python正则表达式
2016/01/15 Python
Python 文件操作的详解及实例
2017/09/18 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python迭代器常见用法实例分析
2019/11/22 Python
Pytorch 实现权重初始化
2019/12/31 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
村党支部换届选举方案
2014/05/02 职场文书
代理人委托书
2014/09/16 职场文书
2014公司年终工作总结
2014/12/19 职场文书
关于车尾的标语大全
2015/08/11 职场文书
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python