当前位置:   article > 正文

OpenCV实现RGB与YUV的转换_c++中用opencv的cvtcolor将rgb图转化为yuv420并且保存

c++中用opencv的cvtcolor将rgb图转化为yuv420并且保存

1、ARGB -> RGB

  1. //unsigned char *data 存的是ARGB的裸数据;
  2. cv::Mat argbImg;
  3. cv::Mat rgbImg(cy, cx,CV_8UC3);
  4. yuvImg.create(cy, cx, CV_8UC4);
  5. memcpy(argbImg.data, data, len);
  6. cv::cvtColor(argbImg, rgbImg, CV_RGBA2RGB);
  7. flip(rgbImg, rgbImg, 0); //垂直翻转

2、YUV -> RGB

  1. //unsigned char *data 存的是YUYV的裸数据;
  2. cv::Mat yuvImg;
  3. cv::Mat rgbImg(cy, cx,CV_8UC3);
  4. yuvImg.create(cy , cx, CV_8UC2);
  5. memcpy(yuvImg.data, data, len);
  6. cv::cvtColor(yuvImg, rgbImg, CV_YUV2BGR_YUYV);

3、I420 -> RGB

  1. //unsigned char *data 存的是I420的裸数据;
  2. cv::Mat yuvImg;
  3. cv::Mat rgbImg(cy, cx,CV_8UC3);
  4. yuvImg.create(cy * 3/2, cx, CV_8UC1);
  5. memcpy(yuvImg.data, data, len);
  6. cv::cvtColor(yuvImg, rgbImg, CV_YUV2BGR_I420);

OpenCV提供的转换函数实现YUV到RGB的转换:

bool YV12ToBGR24_Op
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/670299
推荐阅读
相关标签
  

闽ICP备14008679号