我正在尝试将旋转添加到标签具有一些面部关键点的图像数据集中。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 函数时,它不起作用。