将一组图片中每一张图片分割出来
例如,将下图中的每个小图分隔出来
代码
from PIL import Image
import torchvision
tf=torchvision.transforms.ToTensor()
def split_image(image_path, size):
"""
将一张图片分割成多张图片
:param image_path: 原始图片路径
:param output_path: 分割后图片保存路径
:param size: 分割后每张图片的大小
"""
# 打开原始图片
images = Image.open(image_path)
# 获取原始图片的宽度和高度
width, height = images.size
# 计算分割后每张图片的行数和列数
rows = height // size[1]
cols = width // size[0]
# 循环分割图片
for row in range(rows):
for col in range(cols):
# 计算当前分割图片的左上角坐标和右下角坐标
left = col * size[0]
top = row * size[1]
right = left + size[0]
bottom = top + size[1]
# 分割图片并保存
image = images.crop((left, top, right, bottom))
image_list.append(image)
type(image)
image = tf(image)
torchvision.utils.save_image(image, "./img_mnist_crop/fake{}_{}.png".format(row, col))
split_image("./img_mnist/fake_img1.png", (32,32))