tf.image.yuv_to_rgb
| Просмотреть исходный код на GitHub |
Преобразует одну или несколько изображений из 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. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/image/yuv_to_rgb