【发布时间】:2011-05-28 08:36:58
【问题描述】:
我正在使用安全摄像头 DLL 从摄像头中检索图像。 DLL调用我程序的一个函数,将图像缓冲区作为参数传递,但图像是yuy2格式。我需要将此缓冲区转换为 RGB,但我尝试了在 Internet 上找到的每个公式,但均未成功。我尝试的每个示例(包括http://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx#yuvformats_2)都给了我错误的颜色。
我能够仅使用像素的 Y 分量将缓冲区转换为 BW 图像,但我确实需要彩色图片。我调试了(仅程序集)在屏幕上显示图像的 DLL,它使用 DirectDraw 来执行此操作。
【问题讨论】:
-
我只是在猜测 -> 这不是位顺序问题吗?
-
致所有像我一样困惑的人。 YUY2 是格式为 Y0 | 的宏像素格式。 U0 | Y1 | V0。每 4 个字节代表两个 RGB 像素。
Y称为 Luma,U称为 Cb,V称为 Cr。
标签: c++ bitmap camera directshow