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构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
Python设计模式之中介模式简单示例
Jan 09 Python
tensorflow创建变量以及根据名称查找变量
Mar 10 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
linux查找当前python解释器的位置方法
Feb 20 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
Numpy 多维数据数组的实现
Jun 18 Python
.img/.hdr格式转.nii格式的操作
Jul 01 Python
Restful_framework视图组件代码实例解析
Nov 17 Python
pytorch 一行代码查看网络参数总量的实现
May 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
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
PHP可变变量学习小结
2015/11/29 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Django 视图层(view)的使用
2018/11/09 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
Python模块 _winreg操作注册表
2020/02/05 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
网上卖盒饭创业计划书
2014/01/26 职场文书
销售主管竞聘书
2014/03/31 职场文书
继承公证书格式
2015/01/26 职场文书
台风停课通知
2015/04/24 职场文书
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL