gpt4 book ai didi

image-processing - 使用 ImageMagick 将有限范围的 YUV 转换为 sRGB

转载 作者:行者123 更新时间:2023-12-04 22:50:17 24 4
gpt4 key购买 nike

我正在尝试使用 将一组原始视频帧从 YUV444 转换为 sRGB ImageMagick .

输入格式:原始 YUV444 有限范围,BT.709 平面数据顺序。
所需的输出格式:sRGB(PNG 图像集)。

主要问题: ImageMagick 转换始终适用 JPEG conversion formula .

  • 关于“有限范围”YUV格式的备注:
    在 8 位有限范围 YUV 格式中,Y 的范围为 [16, 235],U、V 的范围为 [16, 240]。 (在 HTDV 系统中使用有限范围的 BT.709)。
    JPEG 使用“全范围”YUV 格式,其中 Y、U、V 范围为 [0, 255]。
    sRGB用于PC系统,R,G,B的范围是全范围[0, 255]。
    YUV 和 YCbCr 可以互换。

  • 为了测试,我使用了以下示例图像:
  • sRGB 格式的示例图像 (rgb_input.png):
    rgb_input.png

  • 我使用 将样本转换为 YUV444 格式FFmpeg : ffmpeg -y -colorspace bt709 -i rgb_input.png -pix_fmt yuv444p yuv_input.yuv
    下图说明了 YUV444 输出(按平面数据顺序):
  • YUV444 格式的 ImageMagick 输入图像(yuv_input.yuv 平面数据顺序说明):
    yuv_input.yuv

  • 我转换了 yuv_input.yuv使用 转至 PNG ImageMagick 转换器(版本 7.0.8-51): magick -depth 8 -interlace plane -size 128x96 -colorspace Rec709YCbCr -sampling-factor 4:4:4 yuv:yuv_input.yuv rgb_output_magick.png
  • 的结果ImageMagick (rgb_output_magick.png):
    rgb_output_magick
    如果您仔细看,您会发现图像与 rgb_input.png 不同。 .

  • 使用 FFmpeg 进行相同的转换(用作引用): ffmpeg -y -s 128x96 -colorspace bt709 -pix_fmt yuv444p -i yuv_input.yuv -pix_fmt rgb24 rgb_output_ffmpeg.png
  • 的结果FFmpeg (rgb_output_ffmpeg.png):
    rgb_output_ffmpeg.png
    注意:我的原始输入视频帧的真实格式使我无法使用 FFmpeg。

  • 从 8 位有限范围 YUV BT.709 到 sRGB 的转换公式: R = 1.1644*Y + 0.00000*U + 1.79270*V - 248.10 G = 1.1644*Y - 0.21325*U - 0.53291*V + 76.878 B = 1.1644*Y + 2.11240*U + 0.00000*V - 289.02
    如何使用 进行上述转换ImageMagick 转换器?

    最佳答案

    根据您的要求,这将是您的变换的 ImageMagick 颜色矩阵命令,假设这是有道理的 . ImageMagick 颜色矩阵值被标准化为 0 到 1 的范围,包括偏移(最右边)项。我假设您的偏移量在 0 到 255(8 位)的范围内。所以我不确定这是否有意义。然而,这就是它的外观。

    magick input -color-matrix \
    "1.1644 0.00000 1.79270 0, 0, -0.9729 \
    1.1644 -0.21325 -0.53291 0, 0, 0.30148 \
    1.1644 2.11240 0.00000 0, 0, -1.1334 \
    0 0 0 1, 0, 0 \
    0 0 0 0, 1, 0 \
    0 0 0 0, 0, 1" output

    http://www.adobetutorialz.com/articles/1987/1/Color-Matrix

    关于image-processing - 使用 ImageMagick 将有限范围的 YUV 转换为 sRGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56894629/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com