int ConvertYUY2toRGB24(char *pOutputRgb, unsigned char *pInputBuffer, int tInputWidth, int tInputHeight)
{
unsigned char *yuyv = pInputBuffer;
int z = 0 , i = 0, j = 0;
for(i = 0 ; i < tInputHeight; i++) //宽度的像素点数
{
for (j = 0; j < tInputWidth; j++) //长度的像素点数
{
int r, g, b;
int y, u, v;
short rgb;
if (!z)
y = yuyv[0] << 8;
else
y = yuyv[2] << 8;
u = yuyv[1] - 128;
v = yuyv[3] - 128;
r = (y + (359 * v)) >> 8;
g = (y - (88 * u) - (183 * v)) >> 8;
b = (y + (454 * u)) >> 8;
r = (r > 255) ? 255 : ((r < 0) ? 0 : r); // RGB的范围为0~255,0为最弱,255为最亮
g = (g > 255) ? 255 : ((g < 0) ? 0 : g);
b = (b > 255) ? 255 : ((b < 0) ? 0 : b);
*pOutputRgb++=b;
*pOutputRgb++=g;
*pOutputRgb++=r;
if (z++)
{
z = 0;
yuyv += 4;
}
}
}
return 0;
}
YUY2转RGB
最新推荐文章于 2022-08-01 16:52:06 发布