def tf_aspect_preserving_resize(image, label, smallest_side):
smallest_side = tf.convert_to_tensor(smallest_side, dtype=tf.int32)
shape = tf.shape(image)
height = shape[0]
width = shape[1]
new_height, new_width = _smallest_size_at_least(height, width, smallest_side)
new_height = tf.maximum(new_height, smallest_side)
new_width = tf.maximum(new_width, smallest_side)
image = tf.expand_dims(image, 0)
label = tf.expand_dims(label, 0)
resized_image = tf.image.resize_bilinear(image, [new_height, new_width], align_corners=False)
resized_image = tf.cast(resized_image, tf.uint8)
resized_image = tf.squeeze(resized_image, 0)
resized_label = tf.image.resize_nearest_neighbor(label, [new_height, new_width], align_corners=False)
resized_label = tf.cast(resized_label, tf.uint8)
resized_label = tf.squeeze(resized_label, 0)
return resized_image, resized_label
评论列表
文章目录