YUV 转 RGB

cv::Mat yuvImg;  
/*//下面两行是我自己代码里用来构成YUV图像的数据,可以忽略

yuvImg.create(pInput->height*3/2, pInput->width, CV_8UC1);
memcpy(yuvImg.data, pInput->yuvPixels, pInput->width*pInput->height*3/2*sizeof(unsigned char));
*/

cv::Mat rgbImg;
cv::cvtColor(yuvImg, rgbImg, CV_YUV2RGB_I420); //函数第三个参数需要视YUV图像格式而定
/*显示转化后的rgb图片*/cv::namedWindow("new_img", CV_WINDOW_NORMAL); //图像自适应大小,否者会因为图像太大,看不全cv::imshow("new_img", rgbImg); cv::waitKey(0); cv::cvDestroyWindow("new_img");


RGB 转 YUV

//RBG转YUV
Mat yuvImg;
cvtColor(rgbImg, yuvImg, CV_RGB2YUV_I420); //函数第三个参数需要视YUV图像格式而定

//这里注意,rgbImg的宽和高必须是2的倍数,否者会crash

一、YUV420格式

先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)

如果w = 4,h = 2,则:

yyyy

yyyy

uu

vv

内存则是:yyyyyyyyuuvv

需要占用的内存:w * h * 3 / 2

采样规律是:每个像素点都采样Y,寄数行采样1/2个U,不采样V,偶数行采样1/2个V,不采样U

转载于:https://www.cnblogs.com/snailgardening/p/opencv_yuv_rgb.html

OpenCV YUV 与 RGB的互转(草稿)相关推荐

  1. YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!)

    一. 公式:基于BT.601-6 BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点) 通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈一个旋转了一定角度的八边形, ...

  2. YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别)

    转自:YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!) - 罗引杰 - 博客园 关于写这篇文章的原因: 本人也是摸索了很长时间才弄懂其中的原理,里面涉及的知识点太多了 ...

  3. python rgb转yuv_YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!)...

    一. 公式:基于BT.601-6 BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点) 通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈一个旋转了一定角度的八边形, ...

  4. 计算不同色域下的RGB与YUV 以及 RGB与XYZ互转公式

    关于写这篇文章的原因: 本人也是摸索了很长时间才弄懂其中的原理,里面涉及的知识点太多了, 比如色彩空间, 比如Gamma, 里面还会涉及到很多的协议, 比如 BT601  BT709, BT2020, ...

  5. 【DSP开发】【VS开发】YUV与RGB格式转换

    [视频处理]YUV与RGB格式转换 YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式. 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式. RGB与 ...

  6. 颜色空间YUV、RGB理解(二)

    接触到了一些yuv相关的信息.从Camera中拿到的每一帧,它的默认格式是NV21,它是一种yuv格式,然后转成 OpenCV所需的BGR.Camera的每一帧的数据格式还可以指定成别的格式.因此开始 ...

  7. python–颜色英文与RGB格式互转

    python–颜色英文与RGB格式互转 使用pip安装webcolors pip install webcolors 1- 导入webcolors import webcolors 2-英文转RGB ...

  8. yuv与rgb的转换矩阵推导过程

    文章目录 yuv与rgb的转换矩阵推导过程 yuv与rgb互转公式 yuv420p转rgb888矩阵 优化一下 参考 yuv与rgb的转换矩阵推导过程 在网上经常看到一些shader里用了矩阵就能把y ...

  9. 2021-01-07 Python Opencv转换颜色空间 RGB转为HSV

    Python Opencv转换颜色空间 RGB转为HSV 举个例子,通过摄像头把视频中的蓝色区域凸显出来,剩余的颜色均为黑色 import numpy as npcap = cv2.VideoCapt ...

最新文章

  1. 设置让TortoiseGit记住账号和密码
  2. 2D图片3秒变立体,变换视角流畅自然:Adobe实习生的智能景深算法,登上顶级期刊...
  3. 在linux下tomcat报javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX
  4. CFileFind 遍历目录与子目录
  5. 域名使用cname方式跳转不到新域名_七牛云图床和Markdown使用
  6. Windows 7有用的20条新功能及技巧
  7. Visual Studio中C++工程的环境配置方法
  8. linux 光纤网卡 软路由,请教关于配置双网卡软路由的问题
  9. 如何优雅的统计代码耗时?
  10. 5G网络切片安全隔离机制与应用
  11. 修改注册表阻止Office XP发送错误报告
  12. 外卖行业现状分析_简要分析外卖运营行业的发展现状
  13. 我在 B 站挖到了 9 款深藏不露的工具,每个都好用到爆!
  14. Spring Security使用数据库登录认证授权
  15. 能够修改证件照的软件有哪些?分享两种好用的修改工具
  16. 鹰迪电商:抖音pk分数怎么看不见?
  17. 大数据的淘金之旅,数据治理之数据资产管理
  18. #GNS3,wireshark,CRT的安装
  19. Hack The Box - Catch 利用let chat API查询信息,Cachet配置泄露漏洞获取ssh登录密码,apk代码注入漏洞利用获取root权限
  20. Iass、Pass、Sass三种云服务有什么区别

热门文章

  1. 2022-2028年中国电子灌封胶行业市场研究及前瞻分析报告
  2. Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符
  3. 斯坦福CS224n、CMU NLP公开课 播放地址
  4. 提升思辨能力和判断力
  5. 联邦学习fate笔记小结
  6. kwargs.pop是什么意思
  7. LeetCode简单题之数组拆分 I
  8. Imagination发布四款RISC-V CPU
  9. 超车新势力齐聚港股,谁主沉浮?
  10. LLVM编译器基础架构与DragonEgg示例