python切割图片的示例


Posted in Python onNovember 12, 2020

这个小程序可以自己设定行数和列数进行图片切割

import os
from PIL import Image

def splitimage(src, rownum, colnum, dstpath):
  img = Image.open(src)
  w, h = img.size
  if rownum <= h and colnum <= w:
    print('Original image info: %sx%s, %s, %s' % (w, h, img.format, img.mode))
    print('开始处理图片切割, 请稍候...')

    s = os.path.split(src)
    if dstpath == '':
      dstpath = s[0]
    fn = s[1].split('.')
    basename = fn[0]
    ext = fn[-1]

    num = 0
    rowheight = h // rownum
    colwidth = w // colnum
    for r in range(rownum):
      for c in range(colnum):
        box = (c * colwidth, r * rowheight, (c + 1) * colwidth, (r + 1) * rowheight)
        img.crop(box).save(os.path.join(dstpath, basename + '_' + str(num) + '.' + ext), ext)
        num = num + 1

    print('图片切割完毕,共生成 %s 张小图片。' % num)
  else:
    print('不合法的行列切割参数!')

src = input('请输入图片文件路径:')
if os.path.isfile(src):
  dstpath = input('请输入图片输出目录(不输入路径则表示使用源图片所在目录):')
  if (dstpath == '') or os.path.exists(dstpath):
    row = int(input('请输入切割行数:'))
    col = int(input('请输入切割列数:'))
    if row > 0 and col > 0:
      splitimage(src, row, col, dstpath)
    else:
      print('无效的行列切割参数!')
  else:
    print('图片输出目录 %s 不存在!' % dstpath)
else:
  print('图片文件 %s 不存在!' % src)

运行效果

python切割图片的示例

python切割图片的示例

以上就是利用python切割图片的示例的详细内容,更多关于python 切割图片的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python编写屏幕截图程序方法
Feb 18 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
Aug 05 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
对Python3 序列解包详解
Feb 16 Python
python 中如何获取列表的索引
Jul 02 Python
Python列表与元组的异同详解
Jul 02 Python
Python交互式图形编程的实现
Jul 25 Python
tensorflow使用指定gpu的方法
Feb 04 Python
Python bisect模块原理及常见实例
Jun 17 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 #Python
Django执行源生mysql语句实现过程解析
Nov 12 #Python
Django Model层F,Q对象和聚合函数原理解析
Nov 12 #Python
在Python中字典按值排序的实现方法
Nov 12 #Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 #Python
通过代码简单了解django model序列化作用
Nov 12 #Python
Django contrib auth authenticate函数源码解析
Nov 12 #Python
You might like
一个程序下载的管理程序(一)
2006/10/09 PHP
smarty实现多级分类的方法
2014/12/05 PHP
php微信开发之百度天气预报
2016/11/18 PHP
简单实现PHP留言板功能
2016/12/21 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
vue-cli扩展多模块打包的示例代码
2018/04/09 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
python读取Excel实例详解
2018/08/17 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
开放系统互连参考模型
2016/06/29 面试题
PyQt QMainWindow的使用示例
2021/03/24 Python
文秘自荐信
2013/10/20 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
中国梦团日活动总结
2014/07/07 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书