YUV 转 RGB

#region YUV 转 RGB
private static int R = 0;
private static int G = 1;
private static int B = 2;
public static Bitmap GetImagByYuvToRGB(string path, int width, int height)
{
//int width = 1280;
//int height = 720;
// string path = “D:\1.yuv”;
// Bitmap bmp = Helper.GetImagByYuvToRGB(path, width, height);
// bmp.Save(“D:\yuv2bmp_1.bmp”)
int imgSize = width * height;
int frameSize = imgSize + (imgSize >> 1);
Bitmap bm = null;
byte[] yuv = new byte[frameSize];
byte[] rgb = new byte[3 * imgSize];

        using (FileStream fs = File.OpenRead(path))
        {
            int frame = (int)fs.Length / frameSize;
            using (BinaryReader br = new BinaryReader(fs))
            {
                while (br.PeekChar() != -1)
                {
                    // 循环读取每一桢
                    br.Read(yuv, 0, frameSize);
                }
            }
            bm = Helper.Yuv420_RGB24(yuv, width, height);
            // bm.Save("D:\\yuv2bmp_1.bmp");
        }
        return bm;
    }

    /// <summary>
    /// YUV420转RGB24
    /// </summary>
    /// <param name="yuvFrame">YUV 格式图像数据。</param>
    /// <param name="rgbFrame">RGB 格式图像数据。</param>
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值