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

相关推荐
中杯可乐多加冰5 小时前
OpenClaw到底能做什么?有什么用?先装这几个实用的Skills
人工智能
千寻girling5 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
aircrushin7 小时前
从春晚看分布式实时协同算法与灵巧手工程实现
人工智能·机器人
恋猫de小郭7 小时前
Apple 的 ANE 被挖掘,AI 硬件公开,宣传的 38 TOPS 居然是"数字游戏"?
前端·人工智能·ios
银河系搭车客指南8 小时前
AI Agent 的失忆症:我是怎么给它装上"第二个大脑"的
人工智能
张拭心8 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
我的username8 小时前
极致简单的openclaw安装教程
人工智能
小锋java12348 小时前
【技术专题】嵌入模型与Chroma向量数据库 - Chroma 集合操作
人工智能
七月丶8 小时前
别再手动凑 PR 了:这个 AI Skill 会按仓库习惯自动建分支、拆提交、提 PR
人工智能·设计模式·程序员
用户5191495848458 小时前
CVE-2024-10793 WordPress插件权限提升漏洞利用演示
人工智能·aigc