easyui获取图片路径_Python玩转图片九宫格

本文介绍了如何使用Python和Pillow库批量创建图片九宫格。首先检查图片是否为正方形,如果不是则裁剪成正方形,然后将正方形图片分割成九个相等的部分并保存。代码实现包括图片裁剪、等分及保存步骤,适用于处理一系列图片。
摘要由CSDN通过智能技术生成

eb115860a192338591e4ea0539a631dc.png

本文主要记录通过Python以及其第三方库pillow来批量生成图片九宫格,其主要思想如下:判断一张图片是不是正方形的,若不是,则获取图片最短的一边为边长,以该边长截取图片的中间部分正方形区域,然后再通过边长将该图片等分为九个正方形区域截取并保存。用到的pillow的Image模块的函数有open,size,crop, save。


------->>>>>>代码如下<<<<<


# 九宫格.py# python生成九宫格图片from PIL import Imageimport sys, os# 若图片不是正方形先以最短边为边长截取图片中间部分为正方形def Img_to_square(img_path):    image = Image.open(img_path) #导入图片    w, h = image.size  #获取图片长宽    if w!=h:        l = h if w > h else w #获取最短边        image = image.crop((int(w/2-l/2), int(h/2-l/2), int(w/2+l/2), int(h/2+l/2))) #截取最中间部分    else:    pass    return image# 将正方形图片剪切为九宫格def crop_image(image):    w, h = image.size    l = int(w/3)    pic = []    for i in range(0,3):        for j in range(0,3):            img = image.crop((j*l, i*l, j*l+l, i*l+l)) #依次截取相应区域            pic.append(img)    return pic# 保存图片def save_image(pic,count):    index = 0    path = os.path.dirname(__file__).replace('\\', '/')  #获取py当前路径    os.system('md '+path.replace('/', '\\')+'\\九宫格'+str(count))  #新建文件夹    for i in pic:  #依次保存每个图片        index += 1        i.save(path+'/九宫格'+str(count)+'/'+str(index)+'.png', 'PNG')if __name__ == '__main__':    img_path = sys.argv[1:]   # 获取图片路径    for i in img_path:        img = Img_to_square(i.replace('\\', '/'))        pic = crop_image(img)        save_image(pic, img_path.index(i))

------->>>>>>使用方法<<<<<


在cmd命令行中拖拽进上面的py文件,加空格,拖拽进要生成九宫格的图片回车即可在py文件所在的目录下生成包含九宫格图片的文件夹。

[py文件][空格][图片][回车]

65731edc1e5cad726290aeb6bc88381c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值