图像格式RGB24转YUV422(YUYV)转换代码
来源:互联网 发布:互联网金融网络平台 编辑:程序博客网 时间:2024/05/16 17:17
由于课题项目的需要,需要一张YUV422格式的图像数据,在网上找了好久,没有现成的代码,只有公式,于是自己写了一个,有什么错误请大家多多指教:
/************************************************************************//* 按照opencv数据存储格式,函数传参顺序为b、g、r *//************************************************************************/void yuv2rgb_pixel(uchar b, uchar g, uchar r, uchar &y, uchar &u, uchar &v){//rgb转yuv公式,参考资料<a target=_blank href="http://www.cnblogs.com/dwdxdy/p/3713990.html">http://www.cnblogs.com/dwdxdy/p/3713990.html</a>y = 0.299 * r + 0.587 * g + 0.114 * b;u = -0.1687 * r - 0.3313 * g + 0.5 * b + 128;v = 0.5 * r - 0.4187 * g -0.0813 * b + 128;}/************************************************************************//* rgb24转yuv422 *//************************************************************************/void yuv2rgb_image(uchar *pRgb, uchar *pYuv, int width, int height){//考虑到每两个rgb像素对应一个yuyv组合,因此,width应为2的倍数int width1 = width = width / 2 * 2;for(int h = 0; h < height; h ++){uchar *ptr1 = pRgb + h * width * 3;uchar *ptr2 = pYuv + h * width * 2;for(int w = 0; w < width1; w += 2){uchar y1, u1, v1, y2, u2, v2;yuv2rgb_pixel(*ptr1 ++, *ptr1 ++, *ptr1 ++, y1, u1, v1);yuv2rgb_pixel(*ptr1 ++, *ptr1 ++, *ptr1 ++, y2, u2, v2);//u、v分量取平均值uchar u = (u1 + u2) / 2;uchar v = (v1 + v2) / 2;*ptr2 ++ = y1;*ptr2 ++ = u;*ptr2 ++ = y2;*ptr2 ++ = v;}}}YUV422转RGB可参考http://www.cnblogs.com/lknlfy/archive/2012/04/09/2439508.html
0 0
- 图像格式RGB24转YUV422(YUYV)转换代码
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- yuyv(yuv422)转换为yuv420p
- YUV422 YUV420 RGB24相互转换
- YUV(YUV422、YUV420) 转RGB24
- 平面YUV422转平面RGB24
- 论YUV422(YUYV)与YUV420相互转换
- YUV422格式的数据转换成RGB24
- 平面YUV422转平面RGB24 平面YUV420转平面YUV422 平面YUV420转RGB24
- 关于YUV420P、YUYV、RGB 图像格式的转换总结
- 关于YUV420P、YUYV、RGB 图像格式的转换总结
- FFMPEG:H264解码-SDL显示(RGB32、RGB24、YUV420P、YUV422)
- 控制DIV的选取
- Angularjs 学习笔记(一)基础
- mysql之给字段设置缺省值
- nefu1121第k个序列(dfs)
- iOS swift-桥接OC的开源框架
- 图像格式RGB24转YUV422(YUYV)转换代码
- CountDownTimer倒计时按钮的实现
- 快速排序(升序)
- 1130 N的阶乘的长度 V2(斯特林近似)
- (学习笔记) SPI通信协议
- 常用的事件触发
- springmvc 得到HttpServletRequest、HttpServletResponse、HttpSession
- 讯飞语音——带你简单实现语音听写
- 透透彻彻IoC(你没有理由不懂!)