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的web框架中中编写日志列表的教程
Apr 30 Python
以windows service方式运行Python程序的方法
Jun 03 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
Python读写/追加excel文件Demo分享
May 03 Python
python导入pandas具体步骤方法
Jun 23 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
python 读取修改pcap包的例子
Jul 23 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
基于django micro搭建网站实现加水印功能
May 22 Python
python批量修改文件名的示例
Sep 27 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
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
用PHP 4.2书写安全的脚本
2006/10/09 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php数组查找函数总结
2014/11/18 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
JavaScript入门教程 Cookies
2009/01/31 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
javascript模拟命名空间
2015/04/17 Javascript
node.js实现端口转发
2016/04/14 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python的词法分析与语法分析
2013/05/18 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
营销与策划应届生求职信
2013/11/04 职场文书
股东合作协议书范本
2014/04/14 职场文书
职务任命书范本
2014/06/05 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
酒店厨房管理制度
2015/08/06 职场文书