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

相关推荐
2601_962860151 小时前
对话Soul创始人张璐团队解读AI布局,以情绪交互能力拓展应用场景
人工智能
王中阳Go1 小时前
业务代码凭什么不能直接调 Agent?——我在律所 AI 项目里做的 Harness 运行时治理
人工智能·后端·程序员
l1258651 小时前
# RAG上线评估指标体系:六大核心指标与压测实战全解析
数据库·人工智能·python·mysql·langchain·milvus
Python 实战手记1 小时前
微信公众号跨主体迁移变更审核流程实操解析:场景条件、公证材料规范、避坑要点与校验脚本实现
人工智能
william_yangshun1 小时前
【AI Agent 实战】cindy 中文版:开箱即用的开源 AI 代理上手指南
人工智能·开源
我命由我123451 小时前
人脸识别 - 人脸识别选帧
java·人工智能·python·算法·安全·java-ee·人脸识别
Ai-_Man2 小时前
豆包收藏夹能批量导出吗?从底层逻辑拆解「AI导出鸭」如何解构这一技术难题
人工智能·ai·小程序
速易达网络2 小时前
宇树机器人具身智能研发的全技术栈
人工智能
ReleaseU2 小时前
PTC 模式深度实战:测试驱动开发的 Agent 化
人工智能·大模型
m0_638079622 小时前
2026年AI论文写作辅助工具技术对比与使用观察
大数据·人工智能