RGB565到RGB24转换

本文介绍了RGB565到RGB24的颜色格式转换过程,结合图像处理的基础知识,探讨了两种格式的特点和转换方法。同时,文章提及了相关领域的其他技术,如视频与图像的RGB/YUV格式,以及安全编程和加密解密的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方式一:
#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) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值