Python 如何使用PIL随机自动翻录?

Python 如何使用PIL随机自动翻录?,python,python-imaging-library,crop,Python,Python Imaging Library,Crop,我正在尝试用PIL编写一个脚本,它基本上是从一个较大的图像中创建一组图像。 我想拍摄一张更大的图像,比如说它是1000X1000像素,然后在“随机”位置裁剪出250x250的正方形 我知道。裁剪(框)存在,一次只能处理一个图像和一个裁剪。有什么方法可以让我用这个来完成我想要的任务吗 from PIL import Image from random import randrange img = Image.open(r"image_path") x, y = img.size matri

我正在尝试用PIL编写一个脚本,它基本上是从一个较大的图像中创建一组图像。 我想拍摄一张更大的图像,比如说它是1000X1000像素,然后在“随机”位置裁剪出250x250的正方形

我知道。裁剪(框)存在,一次只能处理一个图像和一个裁剪。有什么方法可以让我用这个来完成我想要的任务吗

from PIL import Image
from random import randrange

img = Image.open(r"image_path")  
x, y = img.size

matrix = 250
sample = 10
sample_list = []

for i in range(sample):
    x1 = randrange(0, x - matrix)
    y1 = randrange(0, y - matrix)
    sample_list.append(img.crop((x1, y1, x1 + matrix, y1 + matrix)))
矩阵=>用于裁剪的矩阵大小(必须是对称的,并且应该比图像大小小很多)

sample=>必须采集的样本数量(或裁剪图像的数量)

sample\u list=>该列表将用于存储裁剪后的图像

  • 执行代码后,
    sample\u list
    将包含多个图像对象,这些对象可以通过其索引号单独引用(例如
    sample\u list[0]

您打算如何处理提取的方块?@MarkSetchell我将使用这些方块作为我的ML模型的训练图像。您是否关心在采样中边缘是否代表不足?我也希望获得边缘。