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读写Redis数据库操作示例
Mar 18 Python
python如何通过protobuf实现rpc
Mar 06 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
python实现自动登录
Sep 17 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
python SocketServer源码深入解读
Sep 17 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
python 如何引入协程和原理分析
Nov 30 Python
分析Python list操作为什么会错误
Nov 17 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
Javascript 解疑
2009/11/11 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
学习Node.js模块机制
2016/10/17 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python中进程和线程的区别详解
2017/10/29 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
python贪吃蛇游戏代码
2020/04/18 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
python爬虫添加请求头代码实例
2019/12/28 Python
Python多进程编程常用方法解析
2020/03/26 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
本科生学习总结的自我评价
2013/10/02 职场文书
实习生自荐信范文
2013/11/13 职场文书
认识深刻的检讨书
2014/02/16 职场文书
歌唱比赛主持词
2014/03/18 职场文书
离职感谢信
2015/01/21 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android