首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在OpenCV中将YUV转换为BGR或RGB

在OpenCV中将YUV转换为BGR或RGB
EN

Stack Overflow用户
提问于 2011-10-31 13:30:30
回答 6查看 71.1K关注 0票数 12

我有一个电视捕捉卡,有一个输入作为YUV格式。我在这里看到了类似于这个问题的其他帖子,并试图尝试每一种可能的方法,但它们都没有提供一个清晰的图像。目前,最好的结果是使用OpenCV cvCvtColor(scr, dst, CV_YUV2BGR)函数调用。

我目前还不知道YUV的格式,老实说,这让我有点困惑,因为它看起来像是存储了4个频道,但只有3个?我已经包括了一张照片,从捕捉卡,希望有人能够理解可能正在发生的事情,我可以用来填补空白。

提要是通过DeckLink强度Pro卡进入,并在C++应用程序中在Windows 7环境中使用OpenCV进行访问。

更新

我看过维基百科一篇关于这些信息的文章,并试图在我的应用程序中使用这个公式。下面是包含输出的代码块。任何建议都是非常感谢的。

代码语言:javascript
运行
复制
BYTE* pData;

    videoFrame->GetBytes((void**)&pData);

    m_nFrames++;

    printf("Num Frames executed: %d\n", m_nFrames);

    for(int i = 0; i < 1280 * 720 * 3; i=i+3)
    {
        m_RGB->imageData[i] = pData[i] + pData[i+2]*((1 - 0.299)/0.615);
        m_RGB->imageData[i+1] = pData[i] - pData[i+1]*((0.114*(1-0.114))/(0.436*0.587)) - pData[i+2]*((0.299*(1 - 0.299))/(0.615*0.587));
        m_RGB->imageData[i+2] = pData[i] + pData[i+1]*((1 - 0.114)/0.436);
    }

EN

Stack Overflow用户

发布于 2014-04-18 14:57:06

在较新版本的OPENCV中,可以使用内置函数执行YUVRGB的转换。

cvtColor(src,dst,CV_YUV2BGR_YUY2);

在下划线后指定YUV格式,如下面的CV_YUYV2BGR_xxxx

票数 11
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7954416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档