OpenCV:BGR/RGB转I420(颜色失真),再转NV12

RGB转I420由OpenCV实现,I420转NV12,要自己写代码了。

  • RGB转I420

    void convert()
    {
    cv::Mat yuv;
    cv::cvtColor(matBgr, yuv, cv::COLOR_RGB2YUV_I420);
    I420_TO_NV12(map_info.data, yuv.data, width, height);
    yuv.release();
    }

  • I420转NV12

    static void I420_TO_NV12(uchar* NV12, uchar* I420, const int width, const int height)
    {
    int ySize = width * height;
    int uvSize = ySize / 2;
    memcpy(NV12, I420, ySize);

    复制代码
      int uvIndex = 0;
      for (int i = ySize; i < ySize + uvSize; i += 2) {
          NV12[i+1] = I420[ySize + uvIndex];
          NV12[i  ] = I420[ySize + uvSize/2+uvIndex];
          uvIndex ++;
      }

    }

  • 颜色失真参考

https://blog.csdn.net/quantum7/article/details/153632326

相关推荐
xingyuzhisuan4 分钟前
哪里可以一键部署Stable Diffusion XL的GPU云环境?(2026实测指南)
运维·人工智能·stable diffusion·gpu算力
shchojj11 分钟前
What is Generative AI - AI is a general purpose technology
人工智能
Agent手记13 分钟前
采购合同智能审核自动化,落地步骤与落地风险管控方案 —— 2026年企业级Agent深度实战指南
运维·人工智能·ai·自动化
byte轻骑兵17 分钟前
【LE Audio】CAP精讲[5]: 导演上线!Initiator音频协同全流程合规指南
人工智能·音视频·低功耗·le audio
3D探路人29 分钟前
模灵 大模型聚合API 转发流程技术实现
java·大数据·开发语言·前端·人工智能·计算机视觉
Ares-Wang1 小时前
图像》》仿射变换和透视变换放 、图像分割、目标检测
人工智能·计算机视觉
艾醒(AiXing-w)1 小时前
从Prompt到Harness:AI Agent三代工程化全解析
人工智能
空中湖1 小时前
AI 指数级进化 · 一场跨越千年的智能之旅
人工智能
大空大地20261 小时前
# C#基础语法总结
人工智能·计算机视觉
Volunteer Technology1 小时前
SpringAI Chat Client (四)
人工智能·spring