0

我正在尝试将旋转添加到标签具有一些面部关键点的图像数据集中。tf.contrib 已从 tensorflow 2.0 中删除,并且像 PIL 这样的任何其他库都无法正常工作,因为我正在使用 tf.data.Dataset。

我需要随机旋转角度,而同样的旋转也需要应用于图像及其关键点标签。有没有办法在 tensorflow 2.0 中做到这一点?

以下是我使用的功能:

def preprocess_data(image, angle):
    image = tf.image.decode_jpeg(image, channels=3)
    image = tf.image.resize(image, [input_size, input_size])
    image = tf.image.rgb_to_grayscale(image)

    image = Image.fromarray(np.array(tf.squeeze(image)))
    rotated = Image.Image.rotate(image, angle)

    image = tf.convert_to_tensor(np.array(rotated))
    image = tf.expand_dims(image, -1)
    return image

def load_and_preprocess_data(path):
    image = tf.io.read_file(path)
    rotation = tf.random.uniform([1,1], minval=-60, maxval=60, seed=0)
    return preprocess_data(image, rotation)

在这里,我使用了 PIL,但是当我尝试将包含图像路径的 tf.data.Dataset 映射到 load_and_preprocess_data 函数时,它不起作用。

4

0 回答 0