当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.image.yuv_to_rgb用法及代码示例


将一幅或多幅图像从 YUV 转换为 RGB。

用法

tf.image.yuv_to_rgb(
    images
)

参数

  • images 二维或更高等级。要转换的图像数据。最后一个维度必须是大小 3。

返回

  • images 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)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.image.yuv_to_rgb。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。