请教怎么将16位的图像数据保存为8位的BMP图像?

TonyChow 2013-06-07 10:07:56
例如:我有个一个16位的图像buf,unsigned char *imgBuf = new unsigned char[1024*1024*2],里面已经填充了图像数据,如何将这个图像buf保存为8位的bmp图像存到硬盘中??(求源码)
...全文
595 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hemmingway 2013-06-26
  • 打赏
  • 举报
回复
引用 4 楼 hemmingway 的回复:
那么多人喜欢OpenCV,扯蛋的说。。

				// 16位RGB编码模式大概有这么两种:
				/*  
					Alpha.5.5.5模式: 这种模式的最高位位(D15位)存储一个Alpha(透明度),如果没有透明通道就忽略这一位,其余15位均匀分配给红色5位,绿色5位,蓝色5位。
					5.6.5模式:这个是16色彩最常用的模式。5位分配给红,6位分配给绿,5位分配给蓝
			    */
取出16位编码图像的R、G、B分量合成灰度值就可以了。。
hemmingway 2013-06-26
  • 打赏
  • 举报
回复
那么多人喜欢OpenCV,扯蛋的说。。

				// 16位RGB编码模式大概有这么两种:
				/*  
					Alpha.5.5.5模式: 这种模式的最高位位(D15位)存储一个Alpha(透明度),如果没有透明通道就忽略这一位,其余15位均匀分配给红色5位,绿色5位,蓝色5位。
					5.6.5模式:这个是16色彩最常用的模式。5位分配给红,6位分配给绿,5位分配给蓝
			    */
i_dovelemon 2013-06-19
  • 打赏
  • 举报
回复
如果想自己进行转化的话,那么可以看下位图文件的结构,一般都是位图文件头,位图信息头,8位的还有调色板,最后就是位图数据,而且一般情况下,位图数据是倒着的,这个具体可以上网查下,然后进行自己的转化。想偷懒的话,可以使用一些GDI+或者其他图形库中相应的函数方法来解决
laviewpbt 2013-06-08
  • 打赏
  • 举报
回复
16位有很多格式的16位,8位也有很多格式的8位,必须交代清楚。 这个转换过程如果用算法来实现,比较繁琐。
fengbingchun 2013-06-08
  • 打赏
  • 举报
回复
试试OpenCV的cvtColor函数

19,468

社区成员

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

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