def split_image(image, size):
    """将图像按网格划分成多个小图像

    :param image: PIL Image 对象
    :param size: size 网格的行数和列数
    :return: 小图像列表
    """

    m, n = size
    w, h = int(image.size[0] / n), int(image.size[1] / m)
    imgs = []
    # 先按行再按列裁剪出 m * n 个小图像
    for j in range(m):
        for i in range(n):
            # 坐标原点在图像左上角
            imgs.append(image.crop((i * w, j * h, (i + 1) * w, (j + 1) * h)))
    return imgs