使用python裁剪掉序列帧的多余空白

来源:互联网 发布:java初学者知乎 编辑:程序博客网 时间:2024/05/21 17:20

由于美术给的序列帧动画使用了大量的空白导致内存不足, 美术裁剪和对位置需要消耗大量的工作,所以自己想到了用python裁剪多余空白并保存对齐位置,代码如下

#!/usr/bin/env python# coding: utf-8from PIL import Imageimport typesdef get(path, i):    im = Image.open(path, 'r')    width, height = im.size    pix = im.load()    minx = 10000    miny = 10000    maxx = -1    maxy = -1    for x in range(0, width):        for y in range(0, height):            if pix[x, y][3] != 0:                if minx > x:                    minx = x                if miny > y:                    miny = y;                if maxx < x:                    maxx = x                if maxy < y:                    maxy = y;    print i,minx, miny    #print maxx, maxy    cut(path, minx, miny, maxx, maxy)def cut(path, minx, miny, maxx, maxy):    im = Image.open(path)    box = (minx, miny, maxx, maxy)  # 设定裁剪区域    region = im.crop(box)  # 裁剪图片,并获取句柄region    region.save(path, 'png')for i in range(1,95):    path = "D:\\mytest\\cut\\1111\\100"+str(i)+".png"    get(path, i)