[StackGAN实践] [1]图像数据预处理

CUB 鸟类图像数据集,含有11788张图片,200个鸟类别,其中80%的图片的目标占比小于0.5。为方便合成任务,需要提高目标在全图的占比,为此进行如下预处理。

预处理:图像裁剪,裁剪多余背景区域,保证bbox划定的鸟的区域占图像比例不低于75% (bbox最大边至少为图像最大边的0.75倍)
[StackGAN实践] [1]图像数据预处理_第1张图片

import numpy as np
def custom_crop(img, bbox):
    # bbox = [x-left, y-top, width, height]
    imsiz = img.shape  # [height, width, channel]
    center_x = int((2 * bbox[0] + bbox[2]) / 2)
    center_y = int((2 * bbox[1] + bbox[3]) / 2)
    R = int(np.maximum(bbox[2], bbox[3]) * 0.75)
    y1 = np.maximum(0, center_y - R)
    y2 = np.minimum(imsiz[0], center_y + R)
    x1 = np.maximum(0, center_x - R)
    x2 = np.minimum(imsiz[1], center_x + R)
    img_cropped = img[y1:y2, x1:x2, :]
    return img_cropped

原始图像:
[StackGAN实践] [1]图像数据预处理_第2张图片
预处理后图像:
[StackGAN实践] [1]图像数据预处理_第3张图片

你可能感兴趣的:(StackGAN)