RGB565到RGB24转换
方式一:
#define R GChannelMask ... #define R GChannelMask ... #define R GChannelMask ...
#define G BGreenMask ... #define G BGreenMask ... #define G BGreenMask ...
#define B BBlueMask ... #define B BBlueMask ... #define B BBlueMask ...
unsigned short pRGB16 = (unsigned short )lParam;
for(int i=0; i<176144; i++)
{
unsigned short RGB16 = pRGB16;
g_rgbbuf[i3+2] = (RGB16&RGB565_MASK_RED) >> 11;
g_rgbbuf[i3+1] = (RGB16&RGB565_MASK_GREEN) >> 5;
g_rgbbuf[i3+0] = (RGB16&RGB565_MASK_BLUE);
g_rgbbuf[i3+2] <<= 3;
g_rgbbuf[i3+1] <<= 2;
g_rgbbuf[i3+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格式详解
相关热门文章
-
将默认端口指定为222号端口后发现,在CentOS系统中,默认配置下的/etc/init.d/sshd文件无法正常启动服务。
- 通过研究发现,在PHP编程语言环境中构建一个基于FTP协议的登录界面是一个值得探索的方向。
- 经过深入分析发现,在同一台计算机上使用Toad for Oracle工具最多只能开启一个会话的原因在于其资源占用限制。
- 在本地安装Windows 7操作系统时遇到一个问题:在虚拟机环境中运行VMware Workstation 9系统并安装Oracle 11g R2版本后,在本地如何通过PL/SQL语言成功连接到虚拟机内的Oracle数据库?
- 通过查阅资料进一步了解发现,PowerMT配置文件的作用及其设置方法是理解该工具核心功能的关键所在。
给主人留下些什么吧!~~
评论热议
