急求BMP位图16位转24位的算法!

此帐号已弃用12 2009-12-08 09:44:43
搜了很久,都是24->16,愣是没有16->24的,急求一个函数实现,能近似实现即可,
非常感谢!
...全文
192 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_feeling 2009-12-24
  • 打赏
  • 举报
回复
学习
tan34035 2009-12-09
  • 打赏
  • 举报
回复
楼主的16位图像应该是灰度图像吧,也就是一个波段。那么最简单的转换
到24位肯定是3个波段,原来一个波段,保持与原图片一致
设原来一个像素的值Grey(16位)转换到现在一个像素BGR(24位),B\G\R各8位
B =gery/256;
G =gery/256;
R =gery/256;
即可。当然头文件什么的要安规格写
Ryanwen 2009-12-08
  • 打赏
  • 举报
回复
代码没有测试过 你自己试试

#define RGB565_MASK_RED 0xF800
#define RGB565_MASK_GREEN 0x07E0
#define RGB565_MASK_BLUE 0x001F

void rgb565_2_rgb24(BYTE *rgb24, WORD rgb565)
{
//extract RGB
rgb24[2] = (rgb565 & RGB565_MASK_RED) >> 11;
rgb24[1] = (rgb565 & RGB565_MASK_GREEN) >> 5;
rgb24[0] = (rgb565 & RGB565_MASK_BLUE);

//amplify the image
rgb24[2] <<= 3;
rgb24[1] <<= 2;
rgb24[0] <<= 3;
}


void rgb_555_2_bgr24(BYTE* p, int rgb555)
{
p[0] = ((rgb555 << 3) & 0xF8);
p[1] = ((rgb555 >> 2) & 0xF8);
p[2] = ((rgb555 >> 7) & 0xF8);
}
coyer 2009-12-08
  • 打赏
  • 举报
回复
自己写一个也不难吧,按比例替换pixel即可。
shuilongyin_00 2009-12-08
  • 打赏
  • 举报
回复
好像是伪彩色图!我也不清楚。友情帮顶!……
photowen 2009-12-08
  • 打赏
  • 举报
回复
学习

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧