python实现对任意大小图片均匀切割

水贴啦~~

改代码是在windows 系统下

打开路径和保存路径换成自己的就可以啦~

import numpy as np
import matplotlib
import os

def img_seg(dir):
    files = os.listdir(dir)
    for file in files:
        a, b = os.path.splitext(file)
        img = Image.open(os.path.join(dir + "\\" + file))
        hight, width = img.size
        w = 256
        id = 1
        i = 0
        while (i + w <= hight):
            j = 0
            while (j + w <= width):
                new_img = img.crop((i, j, i + w, j + w))
                #rename = "D:\\labelme\\images\\"
                rename = "D:\\labelme\\annotations\\"
                new_img.save(rename + a + "_" + str(id) + b)
                id += 1
                j += w
            i = i + w


if __name__ == '__main__':
    #path = "D:\\labelme\\data\\images\\train"
    path = "D:\\labelme\\data\\dataset_png"
    img_seg(path)

你可能感兴趣的:(python实现对任意大小图片均匀切割)