from PIL import Image import os def split_image(image_path, output_dir, rows=10, cols=10): """ 将图片切成指定行列的小块。 参数: image_path (str): 输入图片的路径。 output_dir (str): 保存小块图片的目录。 rows (int): 切分的行数。 cols (int): 切分的列数。 """ # 打开图片 img = Image.open(image_path) img_width, img_height = img.size # 计算每块的宽和高 piece_width = img_width // cols piece_height = img_height // rows # 创建输出目录 os.makedirs(output_dir, exist_ok=True) # 遍历切割 for row in range(rows): for col in range(cols): # 定义每块的区域 (left, upper, right, lower) left = col * piece_width upper = row * piece_height right = (col + 1) * piece_width lower = (row + 1) * piece_height # 裁剪出小块并保存 piece = img.crop((left, upper, right, lower)) piece_path = os.path.join(output_dir, f"piece_{row}_{col}.png") piece.save(piece_path) print(f"图片已分割成 {rows * cols} 小块,保存到:{output_dir}") # 使用示例 image_path = "input.jpg" # 输入图片路径 output_dir = "output_pieces" # 输出目录 split_image(image_path, output_dir)