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的Django框架使用
Feb 18 Python
Python对文件操作知识汇总
May 15 Python
python中模块查找的原理与方法详解
Aug 11 Python
Python实现图片转字符画的示例
Aug 22 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
解决python Markdown模块乱码的问题
Feb 14 Python
使用pygame编写Flappy bird小游戏
Mar 14 Python
500行python代码实现飞机大战
Apr 24 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
python代码实现图书管理系统
Nov 30 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
python全面解析接口返回数据
Feb 12 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中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
php获取错误信息的方法
2015/07/17 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
jquery 上下滚动广告
2009/06/17 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
d3.js实现图形缩放平移
2019/12/19 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
酒吧创业计划书
2014/01/18 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
企业党建工作总结2015
2015/05/26 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书