• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

yuv信号怎么转成rgb信号

yhj416606438 2022-05-13 浏览量:206
摄像头读取的是yuv要怎么转成rgb信号
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • YUV与RGB间转换有标准的公式来处理的。

     Y = 0.299 R + 0.587 G + 0.114 B 

    U = - 0.1687 R - 0.3313 G + 0.5 B + 128 

    V = 0.5 R - 0.4187 G - 0.0813 B + 128 

    反过来,RGB 也可以直接从YUV (256级别) 计算:

     R = Y + 1.402 (Cr-128)

     G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)

     B = Y + 1.772 (Cb-128)​


    • 发布于 2022-05-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • R = Y + 1.14V
    G = Y - 0.39U - 0.58V
    B = Y + 2.03U
    • 发布于2022-05-13
    • 举报
    • 评论 0
    • 0
    • 0

  • void YUV2RGB(unsigned char *Y unsigned char *U unsigned char *V unsigned char *RGB int Width int Height int Stride) {
     for (int YY = 0; YY < Height; YY++)
     {
      unsigned char *LinePD = RGB + YY * Stride;
      unsigned char *LinePY = Y + YY * Width;
      unsigned char *LinePU = U + YY * Width;
      unsigned char *LinePV = V + YY * Width;
      for (int XX = 0; XX < Width; XX++ LinePD += 3)
      {
       int YV = LinePY[XX] UV = LinePU[XX] VV = LinePV[XX];
       LinePD[0] = int(YV + 2.03 * UV);
       LinePD[1] = int(YV - 0.39 * UV - 0.58 * VV);
       LinePD[2] = int(YV + 1.14 * VV);
      }
     }
    }
    • 发布于2022-05-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 按如下的公式进行计算可得出结果了

    071551033708029.jpg

    • 发布于2022-05-16
    • 举报
    • 评论 0
    • 0
    • 0

  • YUV 转换成RGB 的公式。 R = Y + 1.402 * 0.5V G = Y -0.34413 * 0.5U - 0.71414 * 0.5V B = Y + 1.772 * 0.5U
    • 发布于2022-05-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

yuv信号怎么转成rgb信号