ImageDatagenerator 中的自定义裁剪功能

问题描述 投票:0回答:1

我需要围绕中心点 (x,y) 裁剪一个正方形,并尝试在下面创建我的自定义函数。

from PIL import Image

def Crop_Image(image):
    cropsize = 224
    croplength = cropsize/2
    x = Xcentre
    y = Ycentre
    image_crop = image.crop((x-croplength, y-croplength, x+croplength, y+croplength))
    return image_crop

然后将 Crop_Image 函数传递到 Imagedatagenerator。

datagen = ImageDataGenerator(rescale=1./255,
                             validation_split=0.2,
                             rotation_range=0.2,
                             width_shift_range=0.2,
                             height_shift_range=0.2,
                             shear_range=0.2,
                             zoom_range=0.2,
                             horizontal_flip=True,
                             fill_mode='nearest',
                             preprocessing_function=Crop_Image)

但是在训练过程中,我出现了一些错误。

AttributeError: 'numpy.ndarray' object has no attribute 'crop'

如何解决这个错误?

python machine-learning deep-learning crop imagedatagenerator
1个回答
0
投票

图像最后是一个数组,为什么不像这样裁剪它:

image_crop = image[int(y - croplength):int(y + croplength), int(x - croplength):int(x + croplength)]

我添加了

int
,以防
croplength
不是完整数字。

© www.soinside.com 2019 - 2024. All rights reserved.