tf.image.yuv_to_rgb
Преобразует одну или несколько изображений из YUV в RGB.
tf.image.yuv_to_rgb(
images
)
Выводит тензор с той же формой, что и тензор images, содержащий значение RGB пикселей. Вывод определен корректно только в том случае, если значение Y в изображениях находится в диапазоне [0,1], а значения U и V находятся в диапазоне [-0.5,0.5].
В соответствии с вышесказанным, вам необходимо масштабировать изображения YUV, если значения пикселей не находятся в необходимом диапазоне. Ниже приведенный пример иллюстрирует предобработку каждого канала изображений перед подачей их на yuv_to_rgb.
yuv_images = tf.random.uniform(shape=[100, 64, 64, 3], maxval=255)
last_dimension_axis = len(yuv_images.shape) - 1
yuv_tensor_images = tf.truediv(
tf.subtract(
yuv_images,
tf.reduce_min(yuv_images)
),
tf.subtract(
tf.reduce_max(yuv_images),
tf.reduce_min(yuv_images)
)
)
y, u, v = tf.split(yuv_tensor_images, 3, axis=last_dimension_axis)
target_uv_min, target_uv_max = -0.5, 0.5
u = u * (target_uv_max - target_uv_min) + target_uv_min
v = v * (target_uv_max - target_uv_min) + target_uv_min
preprocessed_yuv_images = tf.concat([y, u, v], axis=last_dimension_axis)
rgb_tensor_images = tf.image.yuv_to_rgb(preprocessed_yuv_images)
| Аргументы | |
|---|---|
images | 2-мерный или многомерный. Данные изображения для преобразования. Последнее измерение должно иметь размер 3. |
| Возвращает | |
|---|---|
images | тензор с той же формой, что и images. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/image/yuv_to_rgb