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 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
使用Python爬取最好大学网大学排名
Feb 24 Python
python采集微信公众号文章
Dec 20 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
pytorch 固定部分参数训练的方法
Aug 17 Python
Python操作qml对象过程详解
Sep 26 Python
Tensorflow限制CPU个数实例
Feb 06 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 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
用穿越火线快速入门php面向对象
2012/02/22 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
js实现单张图片平移切换效果
2017/10/11 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
python实现手机通讯录搜索功能
2018/02/22 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
Python创建字典的八种方式
2019/02/27 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
小学生自我鉴定
2013/10/12 职场文书
班组长安全职责
2014/01/05 职场文书
大二学期个人自我评价
2014/01/13 职场文书
初中体育教学反思
2014/01/14 职场文书
青年文明号服务承诺
2014/03/31 职场文书
志愿者活动总结范文
2014/04/26 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫