RGB565到RGB24转换

来源:互联网 发布:琪琪看片 mac版下载 编辑:程序博客网 时间:2024/06/06 08:17
方式一:
#define RGB565_MASK_RED 0xF800
#define RGB565_MASK_GREEN 0x07E0
#define RGB565_MASK_BLUE 0x001F

unsigned short *pRGB16 = (unsigned short *)lParam;
for(int i=0; i<176*144; i++)
{
    unsigned short RGB16 = *pRGB16;
    g_rgbbuf[i*3+2] = (RGB16&RGB565_MASK_RED) >> 11;  
    g_rgbbuf[i*3+1] = (RGB16&RGB565_MASK_GREEN) >> 5;
    g_rgbbuf[i*3+0] = (RGB16&RGB565_MASK_BLUE);
    g_rgbbuf[i*3+2] <<= 3;
    g_rgbbuf[i*3+1] <<= 2;
    g_rgbbuf[i*3+0] <<= 3;
    pRGB16++;
}
方式二:
rgb5652rgb888(unsigned char *image,unsigned char *image888)
{
unsigned char R,G,B;
B=(*image) & 0x1F;//000BBBBB
G=( *(image+1) << 3 ) & 0x38 + ( *image >> 5 ) & 0x07 ;//得到00GGGGGG00
R=( *(image+1) >> 3 ) & 0x1F; //得到000RRRRR
*(image888+0)=B * 255 / 63; // 把5bits映射到8bits去,自己可以优化一下算法,下同
*(image888+1)=G * 255 / 127;
*(image888+2)=R * 255 / 63;
}
转载自: http://www.rosoo.net/a/201006/9669.html
阅读(1079) | 评论(0) | 转发(0) |
0

上一篇:视频与图像RGB/YUV格式详解

下一篇:RGB24和YUV420旋转90度的源代码

相关热门文章
  • SecureCRT破解注意
  • 新发布苹果产品“土豪金”备受...
  • 成功解决了现实环境中单光子探...
  •   原标题:
  • 晚餐也需要保持适量的清淡...
  • test123
  • 编写安全代码——小心有符号数...
  • 使用openssl api进行加密解密...
  • 一段自己打印自己的c程序...
  • sql relay的c++接口
  • 修改默认端口为222,centos自...
  • 用PHP做一个ftp登录页面...
  • Toad for Oracle工具,为什么在...
  • 本地win7安装vmw9系统winserv...
  • powermt config是所什么用的...
给主人留下些什么吧!~~