我需要围绕中心点 (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'
如何解决这个错误?
图像最后是一个数组,为什么不像这样裁剪它:
image_crop = image[int(y - croplength):int(y + croplength), int(x - croplength):int(x + croplength)]
我添加了
int
,以防 croplength
不是完整数字。