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中操作字典之clear()方法的使用
May 21 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
linux安装python修改默认python版本方法
Mar 31 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
Python3 用matplotlib绘制sigmoid函数的案例
Dec 11 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读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python怎么调用自己的函数
2020/07/01 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
电子信息专业学生自荐信
2013/11/09 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
2015年党性分析材料
2014/12/19 职场文书
金陵十三钗观后感
2015/06/04 职场文书
家属联谊会致辞
2015/07/31 职场文书
Redis性能监控的实现
2021/07/09 Redis
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL