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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python切片用法实例教程
Sep 08 Python
python3.5实现socket通讯示例(TCP)
Feb 07 Python
python3中bytes和string之间的互相转换
Feb 09 Python
python处理按钮消息的实例详解
Jul 11 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
Python将字符串常量转化为变量方法总结
Mar 17 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 Python
PyTorch中permute的使用方法
Apr 26 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常用的文件操作函数经典收藏
2013/04/02 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
Python中变量交换的例子
2014/08/25 Python
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Java分治归并排序算法实例详解
2017/12/12 Python
Python实现最大子序和的方法示例
2019/07/05 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
函授药学自我鉴定
2014/02/07 职场文书
房产公证书范本
2014/04/10 职场文书
社区两委对照检查材料
2014/08/23 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
护理医院见习报告
2014/11/03 职场文书
好好学习保证书
2015/02/26 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
Python中time标准库的使用教程
2022/04/13 Python