//YUY2视频转化RGB格式

inline void YUY2_RGB(BYTE *YUY2buff,BYTE *RGBbuff,int dwSize)

{

//B = 1.164(Y - 16) + 2.018(U - 128)

//G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)

//R = 1.164(Y - 16) + 1.596(V - 128)

BYTE *orgRGBbuff = RGBbuff;

for(int count=0;count

{

//Y0 U0 Y1 V0

float Y0 = *YUY2buff;

float U = *(++YUY2buff);

float Y1 = *(++YUY2buff);

float V = *(++YUY2buff);

++YUY2buff;

*(RGBbuff) = (BYTE)(Y0 + (1.370705 * (V-128)));

*(++RGBbuff) = (BYTE)(Y0 - (0.698001 * (V-128)) - (0.337633 * (U-128)));

*(++RGBbuff) = (BYTE)(Y0 + (1.732446 * (U-128)));

*(++RGBbuff) = (BYTE)(Y1 + (1.370705 * (V-128)));

*(++RGBbuff) = (BYTE)(Y1 - (0.698001 * (V-128)) - (0.337633 * (U-128)));

*(++RGBbuff) = (BYTE)(Y1 + (1.732446 * (U-128)));

++RGBbuff;

}

}

采集摄像头的数据为YUY2格式,OpenCV支持的RGB格式,因此,需要将YUY2转换为RGB格式,再将RGB转换为OpenCV支持的BGR格式,最后就可以显示啦

int CameraShow(BYTE* pData, int len)

{

//change them to rgb

Mat rgb(m_stCameraParam.vHeight,m_stCameraParam.vWidth, CV_8UC3 );

YUY2_RGB(pData, rgb.data, len); //

Mat bgr;

cv::cvtColor(rgb, bgr, CV_RGB2BGR); // RGB转换为BGR

/*显示画面*/

CRect rect(656, 38, 908, 360);

IplImage* iplimg = NULL;

iplimg = &IplImage(bgr);

if (NULL == iplimg) {

return 0;

}

assert(NULL != iplimg);

CvvImage m_CvvImage;

m_CvvImage.CopyOf(iplimg, 1);

HDC hdc = ::GetWindowDC(m_hWnd);

m_CvvImage.DrawToHDC(hdc, rect);

::ReleaseDC(m_hWnd, hdc);

return 0;

}

matlab yuy2转rgb,YUY2转RGB(或BGR)相关推荐

  1. MATLAB App Designer 特别篇:RGB颜色提取器

    在大家的要求下,我将RGB颜色提取器App化了,并做出了以下几个改进: 保留小数位数标准化 颜色格式多样化: 支持16进制码及HSV格式 数据输出标准化: 其他的用法可以看之前GUI版本的相关文章: ...

  2. EasyExcel使用: RGB字体,RGB背景颜色,fillForegroundColor颜色对照表

    使用EasyExcel导出表格可能会对字体颜色和单元格背景颜色进行自定义的修改. 可以自定义字体颜色或者每个单元格的颜色 要想自定义颜色,需要重写CellWriteHandler接口,实现 publi ...

  3. php rgb,php中RGB转十六进制、十六进制转RGB

    php中RGB转十六进制.十六进制转RGB 在js调色器中,不同的浏览器获取到的颜色值会不一样,比如ie是十六进制:#FF00FF,而火狐和谷歌浏览器中:rgb(255,255,255).<?p ...

  4. matlab yuy2转rgb,YUY2/RGB转换公式

    YUY2/RGB转换公式 Y = 0.299 R + 0.587 G + 0.114 B Cb = - 0.1687 R - 0.3313 G + 0.5 B + 128 Cr = 0.5 R - 0 ...

  5. matlab bmp rgb如何转换,RGB到XYZ转化

    RGB彩色工业标准到CIEXYZ空间转换示例: clc; close all; clear all; rgb = imread('lena.bmp'); subplot(2,3,1),imshow(r ...

  6. matlab怎么读取指定坐标的RGB值

    所用函数为impixel. 我处理的是二维图,所以我用的是impixel(I,xi,yi)(如果要用到其他参数直接在matlab官网的support下找document或者在matlab的命令行输入i ...

  7. matlab灰色图像直方图和彩色图像RGB三个通道直方图

    之前文章说过灰度图像实现及彩色图像RGB分开. 1. 图像灰度直方图 灰度直方图是将数字图像中所有像素按灰度值的大小,统计每种像素值出现的频率.灰度直方图描述了一幅图像的绘图统计信息,主要应用于图像分 ...

  8. MATLAB如何采用0~1的RGB值设置字体颜色?

    Problem: 在MATLAB中,如何采用0~1的RGB值设置字体颜色? 目前做一个GUI,遇到动态改变字体颜色的这点需求,而且变为自己想要的颜色 这样会带来两个小问题: 不能采用预设颜色值的方式实 ...

  9. 在MATLAB中利用经典配色的RGB数值去作图

    1.引言 在发表期刊和论文时,图表的重要程度是不言而喻的,对理工科方向来说更加重要.利用MATLAB作图是我们大部分时候的选择,但是在作图时存在两个问题. 一是我们不会去挑选经典的配色去做图,尝尝去选 ...

最新文章

  1. 震惊!NV Volta或用上48GB GDDR6显存
  2. 渗透测试-基于白名单执行payload--Compiler
  3. 【JQuery】使用JQuery 合并两个 json 对象
  4. 《剑指offer》旋转数组的最小数字
  5. [转]在Windows 下使用OpenCL
  6. linux 查看vnc端口_VNC常用操作及常见问题解决办法汇总
  7. 苹果cms V10模板 仿特视网自适应模板
  8. 计算机网络中的基本概念
  9. 互联网控制协议ICMP
  10. 如何创建多个条形图_在R中创建条形图
  11. 法拉克机器人自动怎么调_发那科机器人的简单设置你知道吗
  12. Java模拟Http请求封装工具类
  13. 单点登录怎么整合项目_如何推销新项目:整合设计,创建登录页面并“吸引”用户...
  14. 冬日丹崖风貌--承德碧霞山
  15. 多个fbx文件怎么合并_Unity3D之多个fbx导入场景, 合并多个动画
  16. 二、软件项目开发计划书-模板
  17. 在高德地图中获取鼠标点击的经纬度
  18. 置液晶显示器的台式计算机,台式电脑液晶显示器的底座的制作方法
  19. 辐射避难所ol修改服务器数据,辐射避难所ol12月17日数据互通公告
  20. Matlab延时环节的波特图,延迟环节的传递函数全面介绍

热门文章

  1. 数据挖掘 —— 从入门到求职
  2. 嵌入式开发系列005-嵌入式产品开发体验
  3. 什么是电弧光?电弧光保护的重要性
  4. python爬虫爬取最好大学网排名分析地区大学数量分布并绘制柱状图和词云
  5. Unity AVPro视频播放路径问题(andriod和pc)
  6. es6去除重复项_javascript在ES6中从数组中筛选出重复项并仅返回唯一值
  7. cadence视频/allegro视频-小哥Cadence Allegro完整2层板PCB视频
  8. uni-app 写小程序 索引列表,仿微信通讯录
  9. 张量学习(9):主方向与主分量
  10. vb.net的String类型和Bytes转换(C#也适用)