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 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
Python之os操作方法(详解)
Jun 15 Python
matplotlib作图添加表格实例代码
Jan 23 Python
Python实现PS图像调整黑白效果示例
Jan 25 Python
TensorFlow搭建神经网络最佳实践
Mar 09 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
python绘制直方图和密度图的实例
Jul 08 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
Python Process多进程实现过程
Oct 22 Python
python dict乱码如何解决
Jun 07 Python
Python获取excel内容及相关操作代码实例
Aug 10 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 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页面防重复提交方法总结
2013/11/25 PHP
php遍历目录方法小结
2015/03/10 PHP
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
用JS在浏览器中创建下载文件
2014/03/05 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
使用Python的判断语句模拟三目运算
2015/04/24 Python
Python 字符串换行的多种方式
2018/09/06 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
如何理解Python中包的引入
2020/05/29 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
HTTP状态码详解
2021/03/18 杂记
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
质量保证书范本
2014/04/29 职场文书
新教师培训方案
2014/06/08 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers