python切割图片的示例

2020-11-13 0 565

这个小程序可以自己设定行数和列数进行图片切割

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 切割图片的资料请关注自学编程网其它相关文章!

遇见资源网 Linux python切割图片的示例 http://www.ox520.com/29806.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务