请教rgb565转YUV的问题,转换后的图象用yuvview看起来不太清楚
转换公式用
#define RGB565_MASK_RED 0xF800
#define RGB565_MASK_GREEN 0x07E0
#define RGB565_MASK_BLUE 0x001F
B=(image16[Index] & RGB565_MASK_BLUE);
G=(image16[Index] & RGB565_MASK_GREEN) >> 5;
R=(image16[Index] & RGB565_MASK_RED) >> 11;
yImage[Index] = static_cast<unsigned char>(0.299*R + 0.587*G + 0.114*B);
uImage[Index] = static_cast<unsigned char>(-0.147*R - 0.289*G + 0.436*B);
vImage[Index] = static_cast<unsigned char>(0.615*R - 0.515*G - 0.100*B);
这个公式转换的时候得到的图象基本上看不清楚,只能看见一大片紫红色
yuv文件见附件压缩包,大小是120*160的 YUV4:2:0 rgb2yuv.jpg (11.5 KB)
当用这个公式来转时,图象稍微好些,但是细节部分也不是很清楚,颜色也有点不对
B=(image16[Index] & 0x001F)<<3;
G=(image16[Index] & 0x03E0)>>2;
R=(image16[Index] & 0x7C00)>>7;
tmpColor = 65*R + 129*G + 25*B + ((R+B)>>1) + 128; //or 25
yImage[Index]=(tmpColor+4096)>>8;
tmpColor =-38*R - 74*G + 112*B +128 ;
uImage[Index]=(tmpColor+32768+128)>>8;
tmpColor =112*R - 94* G - 18*B +128 ;
vImage[Index]=(tmpColor+32768+128)>>8;
rgb2yuv1.jpg , rgb2yuv.rar
请问下这是不是公式的问题??
还是说和手机本身也会有关系?
对于ppc来说有比较准确的整型运算的公式吗?我用的手机是Dopod的CHT9000